¿Cómo le hago para no abrir un formulario sin no hay datos?

He intentando de varias formar de no se habrá un formulario que no tenga datos, y que me envíe un mensaje " no hay registro que ver"

2 respuestas

Respuesta
1

HAy dos formas:

1º/ Hacer la comprobación "al abrir" el formulario, para lo que has de usar este código en el evento "Al abrir" del mismo:

Private sub cmdAbreForm_Click()
If DCount("*","TDatos")=0 Then
MsgBox "No hay datos"
Else
DoCmd.OpenForm "NombreFormulario"
End If
End Sub

2º/ Hacer la comprobación "antes" de abrir el formulario. Si lo haces con un botón, y el formulario está basado sobre la tabla TDatos, una forma sería:

Private sub cmdAbreForm_Click()
If DCount("*","TDatos")=0 Then
MsgBox "No hay datos"
Else
DoCmd.OpenForm "NombreFormulario"
End If
End Sub

Saludos!


Visítanos: http://nksvaccessolutions.com/ 

Cabo de ver que me copió el mismo código en los dos casos. En el primer caso el código más adecuado sería éste:

Private Sub Form_Open (Cancel As Integer)
If Me.RecordsetClone.RecordCount=0 Then 
    MsgBox " No hay Datos"
    Cancel=True
End If
End Sub

Aunque también te debería funcionar el que está.

Respuesta
1

Supongamos que el formulario se llama Compras

En las propiedades del formulario, en eventos-Al cargar crea un procedimiento de evento y entre Private Sub y End sub escribe

If Me.Recordset.EOF And Me.Recordset.BOF Then
MsgBox "no hay datos, no se abrirá"

DoCmd.Close acForm, "Compras"
End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas