Discussion:
Convertir contenido de subformulario a cadena de texto
(demasiado antiguo para responder)
juanfran
2013-12-17 16:08:31 UTC
Permalink
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.
José Mª Fueyo
2013-12-17 17:31:36 UTC
Permalink
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]
juanfran
2013-12-18 08:43:08 UTC
Permalink
Perfecto! Lo he adaptado un poco y funciona. Gracias!
Post by José Mª Fueyo
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]
Loading...