Access - Formulario de Búsqueda

 
Vista:

Formulario de Búsqueda

Publicado por VIRTUAJATS (5 intervenciones) el 29/12/2002 23:14:15
Quiero hacer un formulario de búsqueda con el siguiente formato:
________________________________________________________
Nombre Cliente: ..... _________
Fecha de Cuenta: .... |__Buscar_|

_Resultados:____
| |
| |
| |
| |
| |
|_______________|

________________________________________________________

Nombre y fecha son 2 cuadros de texto y Resultado es un listbox que muestra los ID de los registros con coincidencia. Lo que quiero es que busque en una Tabla llamada Cuentas donde se encuentran las columnas Fecha y Nombre, y si encuentra coincidencias, agrege el id de el registro IdCuenta,(El IdCuenta tambíen es una columna de Cuentas), al ListBox llamado Resultados.

Yo sé programar en VB, pero al estar tratando de programar en el VB de Access, me dí cuenta de que es muy distinto y mi principal problema ahora es que no encuentro como llamar a la tabla Cuentas desde el código como para poder saber el máximo de registros para hacer el Loop For y muchas otras cosas más...

¿Como puedo lograr este formulario?
¿Me podrías dar el código para el formulario?
o si no quieres ¿Me podráis decir como llamar a una tabla desde el código?.

Gracias
Salu2
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

Formulario de Búsqueda

Publicado por Alejandro (4142 intervenciones) el 25/04/2023 23:32:51
Para crear un formulario de búsqueda en Access, puedes seguir estos pasos:

1. Crea un nuevo formulario y agrega dos cuadros de texto y un botón de comando.
2. Establece las propiedades de los cuadros de texto como NombreCliente y FechaCuenta, respectivamente.
3. Agrega un listbox llamado Resultados.
4. En el evento "Al hacer clic" del botón de comando, escribe el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub cmdBuscar_Click()
    Dim strSQL As String
    Dim rs As DAO.Recordset
 
    strSQL = "SELECT IdCuenta FROM Cuentas WHERE Fecha = #" & Me.FechaCuenta & "# AND Nombre = '" & Me.NombreCliente & "'"
 
    Set rs = CurrentDb.OpenRecordset(strSQL)
 
    If Not rs.EOF Then
        rs.MoveFirst
        Do Until rs.EOF
            Me.Resultados.AddItem rs!IdCuenta
            rs.MoveNext
        Loop
    End If
 
    rs.Close
    Set rs = Nothing
End Sub

Este código crea una cadena de consulta SQL que busca coincidencias en la tabla Cuentas para los valores de Fecha y Nombre ingresados en los cuadros de texto. Luego, se abre un Recordset utilizando la cadena de consulta y se agregan los resultados al listbox Resultados.

Para llamar a una tabla desde el código, puedes utilizar el objeto Database y la propiedad TableDefs. Por ejemplo, para obtener el número de registros en la tabla Cuentas, puedes utilizar el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim rs As DAO.Recordset
Dim intNumRegistros As Integer
 
Set db = CurrentDb
Set tdf = db.TableDefs("Cuentas")
 
Set rs = db.OpenRecordset("SELECT COUNT(*) FROM Cuentas")
intNumRegistros = rs(0)
 
rs.Close
Set rs = Nothing
Set tdf = Nothing
Set db = Nothing

Este código abre la base de datos actual, obtiene la definición de la tabla Cuentas y luego utiliza una consulta SQL para contar el número de registros en la tabla.
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