Hacer un formulario de búsqueda

Espero que me podáis ayudar, no tengo ni idea de hacerlo
Quiero hacer un formulario de búsqueda, lo primero que tendría sería un combo de cliente (donde aparecerían todos los clientes), otro campo de importe 1 y otro importe 2 (para que busque en un rango) y otro campo vto1 y otro campo vto 2. Por último un Subformulario donde saldría toda la información
Las posibles búsquedas
1- Me busque solo por alguno de los criterios, es decir, sólo por cliente, sólo importe, etc…
2- Que me busque por varios criterios, es decir, que me busque por cliente e importe, que me busque por cliente, importe, vto…

1 respuesta

Respuesta
1

Mirate si quieres un ejemplo de filtros bastante completo que tengo en éste enlace y si tienes dudas me comentas:

http://www.mediafire.com/download/31xj4jpn6r48yq7/BDIngSocial_00.rar 

Saludos >> Jacinto

Al no tener ni idea de BVA, no entendí mucho la base que me mandaste, estuve investigando por internet y encontré algo que podía utilizar (también con filtros), pero me surgen los siguientes problemas.
1- No se poner en filtrar importe desde un importe a otro (el código que he metido es el siguiente)
Private Sub buscar_Click()
Dim sFiltro As String
Dim sClientes As String
Dim sFechaVencimiento As String
Dim sImporte As String
'para filtrar por Clientes
If Not IsNull(Me.CboCLIENTES) And Me.CboCLIENTES <> "" Then
sClientes = "CLIENTES =" & Me.CboCLIENTES
Else
sClientes = ""
End If
'filtrar por importe
If Not IsNull(Me.forImporte) And Me.forImporte <> "" Then
sImporte = "IMPORTE LIKE '*" & Me.forImporte & "*'"
Else
sImporte = ""
End If
‘ filtrar por Fecha
If IsNull(Me.FechaInicio) And IsNull(Me.fechaFin) Then
sFechaVencimiento = ""
Else
sFechaVencimiento = "VENCIMIENTO BETWEEN #" & Format(Nz(Me.FechaInicio, #1/1/1900#), "mm-dd-yyyy") & _
"# AND #" & Format(Nz(Me.fechaFin, #12/31/9999#), "mm-dd-yyyy") & "#"
End If
2- Me falta por poner que me filtre por botones de opción (me imagino que tengo que poner algo de true)
3- Al unir lo que tengo, me funciona si pongo primero el cliente y luego relleno el resto, si por ejemplo pongo desde un vencimiento hasta otro vencimiento y le doy al botón buscar, no me hace el filtro. El código que puse es el siguiente
If sClientes <> "" Then
sFiltro = sClientes
End If
If sImporte <> "" Then
If sFiltro <> "" Then
sFiltro = sFiltro & " AND " & sImporte
Else
sFiltro = sImporte
End If
End If
If sFechaVencimiento <> "" Then
If sFiltro <> "" Then
sFiltro = sFiltro & " AND " & sFechaVencimiento
Else
sFiltro = sFechaVencimiento
End If
End If
Debug.Print sFiltro
'si la variable sFiltro no está vacía se la aplicamos al subformulario
If sFiltro <> "" Then
Me.subformulario_busqueda_efectos.Form.Filter = sFiltro
Me.subformulario_busqueda_efectos.Form.FilterOn = True
Else
Me.subformulario_busqueda_efectos.Form.FilterOn = False
End If
Luego quiero que aparezca un mensaje cuando no hay ningún registro.
Muchas gracias por la ayuda

Repasar el código que me has mandado no representa problema, pero ocurre que éste cambia algo si las variables son Tipo Texto o Tipo Número, y me temo que se irá alargando, con un rendimiento bajo.

Si es posible facilitame una copia de tu BD con datos ficticios, pero con la estructura suficiente como para poder hacer lo que pides.

Hay dos alternativas:

Una>> Si quieres la pones en un enlace aquí.

Otra >> Puedes enviarmela a [email protected]

Me comentas por favor. Saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas