Access - Imprimir desde word una base de datos en access

 
Vista:

Imprimir desde word una base de datos en access

Publicado por jose (1 intervención) el 18/05/2007 15:22:58
De antemano muchas gracias por su ayuda.

Tengo una constancia de estudio hecha en word a su vez me pego a una base de datos de 1000 alumnos en access y quisiera imprimir esos 1000 alumnos en forma cosecutiva sin necesidad de llamarlo uno a uno.
Gracias.
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 Alejandro

Imprimir constancias de estudio para 1000 alumnos en Word

Publicado por Alejandro (4142 intervenciones) el 10/08/2023 19:28:57
Si deseas imprimir constancias de estudio para 1000 alumnos en Word desde Access de manera consecutiva sin tener que hacerlo uno a uno, puedes utilizar una combinación de Access y Word para lograrlo. Aquí te explico cómo hacerlo:

1. Preparación en Word:
- Crea una plantilla de Word con marcadores para los datos que deseas insertar de la base de datos (por ejemplo, nombre del alumno, fecha, etc.).
- Inserta los marcadores en los lugares correspondientes del documento Word donde deseas que aparezcan los datos de cada alumno.

2. Configuración en Access:
- Abre tu base de datos de Access.
- Crea una consulta que contenga la información necesaria para las constancias de estudio de los alumnos.

3. Generación y fusión en Access:
- Crea un formulario o un informe en Access para mostrar los datos de los alumnos. Puedes utilizar un informe para tener más control sobre el formato y el diseño.
- En el evento "Al abrir" del formulario o informe, puedes utilizar código VBA para recorrer los registros y generar las constancias en Word.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Private Sub Report_Open(Cancel As Integer)
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim appWord As Object
    Dim doc As Object
 
    Set db = CurrentDb
    Set rs = db.OpenRecordset("NombreDeTuConsulta")
 
    ' Abre Word y la plantilla
    Set appWord = CreateObject("Word.Application")
    appWord.Visible = False
    Set doc = appWord.Documents.Open("RutaDeTuPlantilla.docx")
 
    ' Recorre los registros y fusiona con la plantilla
    Do While Not rs.EOF
        ' Rellena los marcadores de la plantilla con los datos del registro actual
        doc.Bookmarks("NombreMarcador1").Range.Text = rs![Campo1]
        doc.Bookmarks("NombreMarcador2").Range.Text = rs![Campo2]
        ' ... Agrega más marcadores si es necesario
 
        ' Guarda la constancia y pasa al siguiente registro
        doc.SaveAs "RutaDeSalida\" & rs![NombreArchivo].Value & ".docx"
        rs.MoveNext
    Loop
 
    ' Cierra y libera los objetos
    doc.Close SaveChanges:=wdDoNotSaveChanges ' Puede variar dependiendo de la versión de Word
    appWord.Quit
    Set doc = Nothing
    Set appWord = Nothing
    rs.Close
    Set rs = Nothing
    Set db = Nothing
End Sub

4. Asegúrate de adaptar el código a tu entorno específico, incluyendo nombres de campos, marcadores y rutas de archivos.

5. Ejecución:
- Abre el formulario o informe en Access.
- El código VBA recorrerá los registros de la consulta, generará constancias individuales en formato Word y las guardará en la ubicación especificada.

Por favor, asegúrate de hacer una copia de seguridad de tus datos antes de ejecutar cualquier código y adapta el código según tu estructura de datos y necesidades. Recuerda que las rutas de archivo y nombres de campo son ejemplos y deben ajustarse a tu caso específico.
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