Como detectar que un campo de lista tiene registros

Podrían colaborarme con un código en el evento abrir formulario que detecte si un cuadro de lista "Lista20" en el formulario recién abierto "Formulario1" tiene registros, de tal forma que si no tiene registros cierre el formulario y emita una ventana de anuncio, y si tiene registros no interrumpa la apertura de la ventana y seleccione el primer registro de dicha lista.

2 respuestas

Respuesta
2

Puede programar el evento Al abrir del formulario.

Private Sub Form_Open(Cancel As Integer)
If Me.Lista20.ListCount = 0 Then
   MsgBox "No hay registros", vbInformation, "Le informo"
   DoCmd.Close acForm, Me.Name
End If
End Sub

No había leído bien su pregunta reemplace por este código

FORMULARIO

Private Sub Form_Open(Cancel As Integer)
If Me.Lista20.ListCount = 0 Then
   MsgBox "No hay registros", vbInformation, "Le informo"
   DoCmd.Close acForm, Me.Name
Else
   Me.Lista20.SetFocus
   Me.Lista20.Selected(0) = True
End If
End Sub

saludos, gracias por tu tiempo e  informacion.

E realizado la tarea y me ha producido dos errores, te envio capturas. ¿que me recomiendas?


¿que me recomiendas?

Esta mal la instrucción DoCmd acform, Me. Form_provee... sobra el nombre formprovee...

Si quiere reemplácel por Cancel=True

Respuesta
1

El evento tiene un parámetro cuya función es permitirle o no que se abra el formulario:

Private Sub Form_Open(Cancel As Integer)
Cancel = Me.Lista20.ListCount = 0
End Sub

Si 'Lista20' no tiene Ítems devolverá un cero (0 =False) y si lo tiene el numero de Ítems.

El parámetro 'Cancel' nace con el valor False, si se le activa hará lo que delata su nombre cancelar la apertura.

El mensaje es algo optativo, detendrá la ejecución mientras no se cierre la ventana emergente y eso acaba siendo odioso.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas