Access - Exportar varios datos desde Access a Word

 
Vista:

Exportar varios datos desde Access a Word

Publicado por Juanma Villar (6 intervenciones) el 18/03/2018 10:23:02
Buenos días, tengo una base de datos en Access que la utilizo para rellenar una serie de campos que necesito en unos 8 documentos de Word, por lo que he creado unas plantillas en Word y ya he conseguido que todo funcione correctamente a través de botones desde el Formulario de Access.

Bien solo me queda una cosa para que me quede 100% funcionando y es que uno de los documentos de Word es un archivo en el cual a veces solo pongo uno de los registros rellenos en la Base de Datos de Access y otras veces tengo que poner 2 o mas registros de esa base de datos, pero claro al darle al Boton en el Formulario solo me rellena en la plantilla Word el registro que aparece en pantalla.

El ejemplo seria tal que: En el Formulario tengo NºRegistro 200, Nombre Apellido: Pepe Prueba
Pincho en el boton correspondiente.
Y me genera documento Word con

1.- NºRegistro 200 a nombre de Pepe Prueba.

Bien quiero que si necesito poner 2.- NºRegistro 201 a nombre de Juan Prueba2
3.- NºRegistro 201 a nombre de Sofia Prueba3
etc...

Pues que lo haga. Supongo que al presionar boton me deberia preguntar que registros quiero exportar o algo así.

Gracias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Exportar varios datos desde Access a Word

Publicado por Norberto (753 intervenciones) el 19/03/2018 11:14:22
Hola.

Lo mejor sería que establezcas una forma de filtrar los registros que se van a exportar (una opción sería añadir un campo de tipo Sí/No pero podría ser por otros criterios). Una vez lo tengas, lo que habría que hacer es exportar para cada uno de los registros de esta manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Public Sub Exportar()
    Dim Rst As DAO.Recordset 'Definimos una variable de tipo recordset
 
    Set Rst = Me.RecordsetClone 'En ella clonamos los registros que están disponibles en el formulario
 
    Do While Not Rst.EOF    'Hasta llegar al final
        'Aquí hacemos la exportación de los datos que dices que ya tienes resuelta.
        'Para usar los campos tienes que poner Rst!NombreDeCampo
 
        Rst.MoveNext    'Vamos al siguiente registro
        DoEvents
    Loop
    Set Rst = Nothing
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Exportar varios datos desde Access a Word

Publicado por juanma (6 intervenciones) el 19/03/2018 11:45:36
Muchisimas gracias por tu contestación, es bastante parecido a lo que estoy buscando esta solución.

Con ese codigo ahora me genera la plantilla que tengo creada tantas veces como registros tengo en la base de datos cada documento con su número de registro, es casi lo que quiero pero realmente me gustaría que me preguntase por que registros quiero crear el documento word y si fuera posible que los agrupase en un solo documento no en uno por cada registro.

Gracias y un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Exportar varios datos desde Access a Word

Publicado por Norberto (753 intervenciones) el 20/03/2018 11:51:11
Hola de nuevo.

Como te dije tendrás que ver la forma en la que filtras los datos. Una posibilidad es que añadas un campo de tipo SíNo (podría llamarse Exportar) y lo actives para aquellos registros que quieras pasar a Word. Luego, mediante un botón en el formulario activas un filtro por dicho campo. Otra opción, es la de poner un cuadro de lista de selección múltiple y realizar la exportación sólo de aquellos registros que estén seleccionados en la lista.

En cuanto a exportar toda la información a un único documento de Word, lo que debes de hacer es abrirlo antes del bucle Do...Loop, los datos los pasas dentro del bucle y el documento lo cierras después del bucle.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Sub Exportar()
    Dim Rst As DAO.Recordset 'Definimos una variable de tipo recordset
 
    Set Rst = Me.RecordsetClone 'En ella clonamos los registros que están disponibles en el formulario
 
    'Aquí abrimos el documento
    Do While Not Rst.EOF    'Hasta llegar al final
        If AquíPonemosLaCondiciónPertinente Then
            'Aquí hacemos la exportación de los datos que dices que ya tienes resuelta.
            'Para usar los campos tienes que poner Rst!NombreDeCampo
        End If
        Rst.MoveNext    'Vamos al siguiente registro
        DoEvents
    Loop
    'Aquí imprimimos, guardamos, etc. el documento.
    Set Rst = Nothing
 
End Sub

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar