Even shorter:
Private Sub Form_Open(Cancel As Integer)
If Me.RecordsetClone.RecordCount = 0 Then
MsgBox "There are no records to display at this time." _
, vbInformation, "No Records"
Cancel = True
End If
End Sub
You will of course need to trap for and ignore Error 2501
in the code rountine that opens the form.
--
Jeff Conrad
Access Junkie
Bend, Oregon
<pietlinden@hotmail.com> wrote in message
news:1113623069.185302.163790@l41g2000cwc.googlegr oups.com...
[color=blue]
> normally, you'd trap for the NoData event of a report, but alas, this
> isn't a report. I did get this to work, but I'd recommend that any
> self-respecting Access programmer finish swallowing before reading
> futher...
>
> This works...
>
> Private Sub Form_Load()
> Dim rs As DAO.Recordset
> Dim intRecords As Integer
>
> Set rs = Me.RecordsetClone
> '---you shouldn't need these two lines. You'll get 1 if there are
> any records.
> rs.MoveLast
> rs.MoveFirst
>
> If rs.RecordCount =0 Then
> rs.Close
> Set rs = Nothing
> DoCmd.Close acForm, Me.Name, acSaveNo
> Else
> MsgBox rs.RecordCount & " records."
> rs.Close
> Set rs = Nothing
> End If
>
> End Sub[/color]
----== Posted via Newsfeeds.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----