Dudas sobre la utilización de formularios para insertar valores en la base de datos con Access

Hola, mi problema es que tengo un formulario de búsqueda y hay datos que relleno y datos que no. En la consulta igualo los campos de la tabla a los cuadros independientes del formulario de búsqueda y me sale si introduzco todos los datos, pero si dejo alguno en blanco no me sale, ¿qué debería pone en criterios? Saludos y muchas gracias
1

1 respuesta

Respuesta
1
Si utilizas una consulta para devolver los registro (por criterios), la consulta siempre espera el criterio (hace tiempo ponía en criterios "*"&[textoquesea]&"*", p.ejem: jose sacaba José Antonio, Antonio José,...). Pero personalmente me gustan más los filtros, este es el código que utilizo para especificar los criterios en el formulario de búsqueda, comando2306 es el botón buscar, después hay otro que me lleva al formulario de resultados, espero que te sirva.
Private Sub Comando2306_Click()
On Error GoTo Err_Comando2306_Click
Dim mifiltro, a, aa, b, bb, c, cc, d, dd, e, ee, f, ff, g, gg, h, hh, i, ii, j, jj As String
Dim z, xx, yy As Integer
If IsNull(Texto2289.Value) = False Then mifiltro = "(FILIACION.DNI Like '" + Texto2289.Value + "')"
If IsEmpty(mifiltro) = True Then
If IsNull(Texto2291.Value) = False Then mifiltro = "(FILIACION.NOMBRE Like '" + Texto2291.Value + "')"
Else
If IsNull(Texto2291.Value) = False Then mifiltro = mifiltro + "AND (FILIACION.NOMBRE Like '" + Texto2291.Value + "')"
End If
If IsEmpty(mifiltro) = True Then
If IsNull(Texto2293.Value) = False Then mifiltro = "(FILIACION.APELLIDO1 Like '" + Texto2293.Value + "')"
Else
If IsNull(Texto2293.Value) = False Then mifiltro = mifiltro + "AND (FILIACION.APELLIDO1 Like '" + Texto2293.Value + "')"
End If
If IsEmpty(mifiltro) = True Then
If IsNull(Texto2295.Value) = False Then mifiltro = "(FILIACION.APELLIDO2 Like '" + Texto2295.Value + "')"
Else
If IsNull(Texto2295.Value) = False Then mifiltro = mifiltro + "AND (FILIACION.APELLIDO2 Like '" + Texto2295.Value + "')"
End If
' CONTINUAS DE LAS MISMA FORMA CON TODOS LOS CAMPOS QUE TENGAS
If IsEmpty(mifiltro) = True Then
Beep
MsgBox "INTRODUCE ALGUN CRITERIO", vbCritical, "NO SE PUEDE FILTRAR"
Else
Texto2316.Value = mifiltro
Me.Filter = mifiltro
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
Dim bab As Long
b = Texto2261.Value
bab = DCount("[Id]", "FILIACION", Me.ServerFilter)
If bab = 0 Then
Etiqueta2182.Caption = "NO SE HAN ENCONTRADO REGISTROS COINCIDENTES"
Texto2348.Visible = False
Else
Etiqueta2182.Caption = bab & " REGISTROS COINCIDENTES"
End If
Exit_Comando2306_Click:
Exit Sub
Err_Comando2306_Click:
MsgBox Err.Description
Resume Exit_Comando2306_Click
End Sub

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas