Access - Buscar informes

 
Vista:

Buscar informes

Publicado por jose (12 intervenciones) el 06/07/2004 11:23:01
Hola y gracias por tu ayuda y atencion.
EStoy haciendo un formulario en vista diseño y un boton en vista diseño, y lo que quiero es meterle a este boton, mediante codigo viusla basic, codigo para que me busque todos los informres que existen en la base de datos y me los visualice en una lista que tb hay en el formulario. Como puedo hacerlo? Me podeis dar alguna idea o ayuda?, gracias!!!
Saludos.
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

Buscar informes

Publicado por Alejandro (4142 intervenciones) el 08/05/2023 22:13:14
Para buscar y mostrar todos los informes existentes en una base de datos de Access utilizando código VBA, puedes seguir los siguientes pasos:

1. Abre el formulario en vista diseño y asegúrate de que tienes una lista (ListBox) donde mostrar los informes.

2. Crea un procedimiento de evento para el botón en vista diseño. Haz clic derecho en el botón, selecciona "Generador de eventos" y luego elige el evento "Al hacer clic".

3. En el procedimiento de evento recién creado, puedes utilizar el siguiente código para buscar y mostrar los informes:

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
Private Sub btnBuscarInformes_Click()
    Dim db As DAO.Database
    Dim rpt As DAO.Recordset
    Dim rptName As String
 
    ' Borra los elementos existentes en la lista
    Me.lstInformes.RowSource = ""
 
    ' Abre la base de datos actual
    Set db = CurrentDb
 
    ' Crea un recordset para recorrer los informes
    Set rpt = db.OpenRecordset("SELECT [Name] FROM MSysObjects WHERE Type=5")
 
    ' Recorre el recordset de informes
    Do Until rpt.EOF
        rptName = rpt("Name")
        ' Agrega el nombre del informe a la lista
        Me.lstInformes.AddItem rptName
        rpt.MoveNext
    Loop
 
    ' Cierra el recordset y la base de datos
    rpt.Close
    Set rpt = Nothing
    db.Close
    Set db = Nothing
End Sub

Este código utiliza el objeto `MSysObjects` para obtener los nombres de los informes en la base de datos actual. Luego, recorre el recordset y agrega cada nombre de informe a la lista.

Asegúrate de reemplazar "btnBuscarInformes" con el nombre correcto de tu botón y "lstInformes" con el nombre de tu lista.

Guarda y ejecuta el formulario para probar el código. Al hacer clic en el botón, se deberían mostrar los nombres de los informes en la lista.

Espero que esta información te sea útil. ¡Buena suerte con tu proyecto en Access!
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