Convertir contenido de subformulario a cadena de texto

17/12/2013 - 17:08 por juanfran | Informe spam
Hola a todos,

Necesito ayuda para pasar los registros de un subformulario a una cadena de texto, utlizando vba.

El subformulario en cuestion tiene tres columnas: id, numerotlf y descripcion.

Un ejemplo de cadena resultante seria:

968472645, cliente casa
965635423, cliente trabajo
627654634, cliente movil
679856374, esposa cliente

La cuestion es que tengo un boton para enviar un email y para incorporar los telefonos al cuerpo del mensaje tiene que ser una cadena de texto.

Preguntas similare

Leer las respuestas

#1 José Mª Fueyo
17/12/2013 - 18:31 | Informe spam
Hola.
Puedes utilizar el método RecordsetClone del formulario.
Este ejemplo está creado con el formulario "Pedidos". Crea un botón llamado "cmbRecorreLineasPedido" y pega este código

<pego>
Private Sub cmbRecorreLineasPedido_Click()
Dim rs As DAO.Recordset
Dim sSalida As String, i As Integer, j As Integer
Set rs = Me.Subformulario_Pedidos.Form.RecordsetClone
i = rs.Fields.Count - 1
Do Until rs.EOF
For j = 0 To i
sSalida = sSalida & "|" & rs(j).Value
Next
sSalida = Mid(sSalida, 2) & vbCrLf
rs.MoveNext
Loop
Set rs = Nothing
sSalida = "Resultado: " & vbCrLf & vbCrLf & sSalida
MsgBox sSalida
End Sub
</pego>

Espero te sirva.

Salu2,

José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#2 juanfran
18/12/2013 - 09:43 | Informe spam
Perfecto! Lo he adaptado un poco y funciona. Gracias!

El martes, 17 de diciembre de 2013 18:31:36 UTC+1, José Mª Fueyo escribió:
Hola.

Puedes utilizar el método RecordsetClone del formulario.

Este ejemplo está creado con el formulario "Pedidos". Crea un botón llamado "cmbRecorreLineasPedido" y pega este código



<pego>

Private Sub cmbRecorreLineasPedido_Click()

Dim rs As DAO.Recordset

Dim sSalida As String, i As Integer, j As Integer

Set rs = Me.Subformulario_Pedidos.Form.RecordsetClone

i = rs.Fields.Count - 1

Do Until rs.EOF

For j = 0 To i

sSalida = sSalida & "|" & rs(j).Value

Next

sSalida = Mid(sSalida, 2) & vbCrLf

rs.MoveNext

Loop

Set rs = Nothing

sSalida = "Resultado: " & vbCrLf & vbCrLf & sSalida

MsgBox sSalida

End Sub

</pego>



Espero te sirva.



Salu2,



José Mª Fueyo

[MS MVP Access]
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida