Abrir formulario filtrado mediante código

Tengo un formulario con un cuadro de texto donde introduzco un valor de texto y luego un botón. La idea es que al poner un valor en el cuadro de texto, si pulso el botón me abra otro formulario donde coincida ese valor en uno de los campos y en caso de que no coincida ese valor que me reporte un msgbox.

Para abrir el formulario utilizo ese código:

    Dim vFiltro As Variant

    vFiltro = Me.TxtExpediente.Value

    If IsNull(vFiltro) Then Exit Sub

    DoCmd.OpenForm "frmRegistro", , , "[Expediente]LIKE '*" & vFiltro & "*'"

Esto funciona perfectamente, pero cuando el valor del cuadro de texto no coincide con los registros del campo Expediente quiero que me salte el msgbox y se cierre el formulario frmRegistro

Respuesta
1

En el evento del formulario al abrir puede utilizar algo como

IF Me.RecordseClone.RecordCount=0 THEN

  DoCmd.Close Acform Me.Name

END IF

Hay más opciones

¡Muchas Gracias!  con un pequeño cambio funciona perfectamente

If IsNull([Expediente]) Then
MsgBox ("NO EXISTE ESE EXPEDIENTE")
DoCmd.Close acForm, "frmRegistro"
Else
DoCmd.OpenForm "frmRegistro"
End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas