Agrupar varios registros en un solo campo

En una bd tengo que lograr que un mismo código de documento de gestión que este vinculado a diferentes personas, los correos electrónicos de estas se agrupen en un solo campo para que luego con un código vb (que ya tengo) se ejecuta para hacer el l envío de de un correo a las mismas.

Ejemplo: consulta

Codigo DG aprobador correo
QA-001 JuanPerez [email protected]
QA-001 Pedro Lopez [email protected] QA-001 Juan Lopez [email protected]
QA-001 Pedro Perez [email protected]

Lo que necesito es que me quede en un formulario o en una nueva consulta lo siguiente:

Codigo DG correo

QA-001 [email protected]; [email protected] ; [email protected] ; [email protected]

Para que mi código capture el campo con todos los correos que se agrupen.

1 respuesta

Respuesta
2

Supongamos que tienes un formulario como en la imagen

Le añades un cuadro de texto, en este caso es el Texto3, pero en sus propiedades. Otras-nombre le he puesto Unidos. Y un botón de comando, y en sus propiedades-eventos-al hacer clic puedes poner

DoCmd. GoToRecord,, acFirst
Dim i As Byte
For i = 1 To Form.Recordset.RecordCount
Unidos = Nombre & ";" & Nz([Unidos])
DoCmd.GoToRecord , , acNext
Next

En cuanto pulses el botón te quedará

Si por el contrario, en el código pones

Unidos=nz([unidos]) &";"&Nombre, te pone los nombre en orden inverso, es decir, de arriba a abajo

Por cierto, si la instrucción la pones tal como te la mandé, para que te quite el último punto y coma ponla como

DoCmd. GoToRecord,, acFirst
Dim i As Byte
For i = 1 To Form.Recordset.RecordCount
Unidos = Nombre & ";" & Nz([Unidos])
DoCmd.GoToRecord , , acNext
Next
Unidos = Left([Unidos], Len([Unidos]) - 1)

Te quedará como en la imagen

millll gracias!!! ahora me pongo a hacer las pruebas pero como lo veo estoy segura que va a funcionar!! cualquier cosa te aviso!! mil gracias nuevamente!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas