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 respuesta
Respuesta de cebries
1
1
cebries, access (vb_access), proyectos access para sql server, ayudas...
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
- Anónimoahora mismo
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.