Access - imprimir mas de un registro en word

 
Vista:

imprimir mas de un registro en word

Publicado por jreverendo (2 intervenciones) el 29/11/2001 08:40:56
Tengo un documento de word combinado con una base de datos de access 2000. He conseguido imprimir el documento unicamente pulsando un boton (codigo):

Dim x As Object
Dim p As String
Set x = CreateObject("word.application")
x.Visible = False
p = "xxxxxx"
x.ActivePrinter = p
x.Documents.Open "d:\particulares.doc"
x.ActiveDocument.PrintOut

Pero tengo un problema: El documento tiene 2 registros combinados pero solo me imprime el primero de los registros.

Como hago para que me imprima todos los registros que existan el la combinacion?????

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 Alejandro

imprimir mas de un registro en word

Publicado por Alejandro (4142 intervenciones) el 19/04/2023 20:41:16
Para imprimir todos los registros combinados en el documento de Word, necesitas agregar un bucle para recorrer los registros y ejecutar la impresión para cada uno de ellos. Aquí te dejo un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim x As Object
Dim p As String
Dim rs As DAO.Recordset
Set x = CreateObject("word.application")
x.Visible = False
p = "xxxxxx"
x.ActivePrinter = p
x.Documents.Open "d:\particulares.doc"
Set rs = CurrentDb.OpenRecordset("NombreDeTuConsulta")
Do While Not rs.EOF
   'Aquí se reemplaza los campos del documento de Word con los valores del registro actual
   'Por ejemplo: x.ActiveDocument.Bookmarks("NombreDelCampo").Range.Text = rs("NombreDelCampo")
   x.ActiveDocument.PrintOut
   rs.MoveNext
Loop
rs.Close
Set rs = Nothing

Este código recupera los registros de una consulta y los recorre uno por uno usando un bucle While. Dentro del bucle, puedes reemplazar los campos del documento de Word con los valores del registro actual. Una forma de hacerlo es usar bookmarks en el documento y asignarle el valor del campo correspondiente. Después de reemplazar los campos, el código ejecuta la impresión del documento. Finalmente, el código cierra el recordset y libera la memoria del objeto.
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