Access - Anestesiologo

 
Vista:

Anestesiologo

Publicado por Miguel Arango (1 intervención) el 11/08/2003 05:29:52
Como puedo darle la orden a un boton de comando para que me saque en WORD la informacion de un registro que este visualizando en un momento dado en formulario de Access, sin que me salga toda la informacion almacenada en el formulario/tabla.

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

Anestesiologo

Publicado por Alejandro (4142 intervenciones) el 02/05/2023 22:49:58
Para lograr esto, puedes utilizar el objeto `Document` de Word y el método `MailMerge` para combinar la información del registro que estás visualizando en el formulario de Access con una plantilla de Word.

Aquí te muestro un ejemplo de cómo podrías hacerlo:

1. Crea una plantilla de Word con los campos que deseas incluir en el documento final, utilizando la función de combinación de correspondencia. Debes guardar esta plantilla con un nombre y una ubicación específica en tu equipo.

2. En tu formulario de Access, crea un botón de comando y en su evento `Al hacer clic` escribe el siguiente código:

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
Private Sub btnGenerarDoc_Click()
    Dim wordApp As Object
    Dim doc As Object
 
    'Creación de una instancia de Word
    Set wordApp = CreateObject("Word.Application")
    wordApp.Visible = True 'Esto hace visible la aplicación de Word
 
    'Apertura de la plantilla
    Set doc = wordApp.Documents.Open("Ruta de la plantilla de Word")
 
    'Fusión de correspondencia con el registro actual del formulario
    With doc.MailMerge
        .MainDocumentType = wdFormLetters
        .OpenDataSource Name:="Ruta de la base de datos de Access", _
                         LinkToSource:=True, _
                         Connection:="Tabla: Nombre de la tabla o consulta", _
                         SQLStatement:="SELECT * FROM Nombre de la tabla o consulta WHERE Id = " & Me.Id
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        With .DataSource
            .FirstRecord = wdDefaultFirstRecord
            .LastRecord = wdDefaultLastRecord
        End With
        .Execute Pause:=False
    End With
 
    'Cierre del registro y la aplicación de Word
    doc.Close SaveChanges:=False
    Set doc = Nothing
    wordApp.Quit
    Set wordApp = Nothing
End Sub

3. En el código anterior, debes reemplazar la "Ruta de la plantilla de Word" por la ubicación donde guardaste la plantilla y la "Ruta de la base de datos de Access" por la ubicación de la base de datos que estás utilizando en tu formulario.

4. También debes reemplazar "Nombre de la tabla o consulta" por el nombre de la tabla o consulta que contiene los datos que deseas incluir en el documento y "Me.Id" por el nombre del campo de identificación del registro actual que estás visualizando en el formulario.

5. Al hacer clic en el botón de comando, se abrirá un nuevo documento de Word con la información del registro actual fusionada con la plantilla que creaste.

Espero que esto te ayude a lograr lo que necesitas.
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