Newsgroup: it.comp.appl.access
Titolo: MsgBox Se maschera vuota.

Una buona giornata a tutti.
All'apertura di una maschera (che abbia origine da una query o da una Tb) 
come si può avere un msg che avvisa della mancanza di dati e quindi bloccare 
il cmd openform?
Napoleone 

 il cmd openform?
Dim rs as DAO.RecordSet
Dim intConteggio as Integer
Set rs = CurrentDb.OpenRecordset("SELECT * FROM MyTable")
intConteggio = rs.recordcount
If intconteggio = 0 then
   msgbox "Non ci sono record da visualizzare"
Else
  docmd.openform "MiaForm"
End if
Ciao

 ha scritto nel messaggio 
news:cbOue.65403$75.32...@news4.tin.it...

Ciao Vulcan,
Ho messo l'evento su caricamento
e mi rstituisce questo errore:
Parametri insufficienti. Previsto <numero>. (3061)
Ti allego il codice:
--------------
Private Sub Form_Open(Cancel As Integer)
Dim rs As DAO.Recordset
Dim intConteggio As Integer
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Q_Presenze_Storiche")
------((si pianta alla riga sopra)))-----------------------------------
intConteggio = rs.RecordCount
If intConteggio = 0 Then
   MsgBox "Non ci sono record da visualizzare"
Else
  DoCmd.OpenForm "M_Presenze_Oggi_Tutte"
End If
End Sub
---
Napoleone 

 ha scritto nel messaggio
news:P1Oue.19573$yM4.2...@twister2.libero.it...

Ciao Napoleone,
come stai ??
su apertura della form
if me.recordsetclone.recordcount=0 then
        msgbox("nessun record")
end if
oppure lo puoi fare anche con Dcount
if dcount("tuoId","TuaQuery")=0 then
    msgbox("nessun record")
end if
Ciao, un saluto, buona giornata
Sandr

 come stai ??
Bene, Grazie!
E' da un pò che non ci sentiamo!
..
Private Sub Form_Open(Cancel As Integer)
If Me.RecordsetClone.RecordCount = 0 Then
        MsgBox ("nessun record")
End If
End Sub> oppure lo puoi fare anche con Dcount
...
Con questo codice, mi da il msg, ma mi apre ugualmente la form,
che non dovrebbe eseere aperta, in quanto vuota!
Buona giornata
Napoleone 

 che non dovrebbe eseere aperta, in quanto vuota!
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
+ Conferenza Italiana per Sviluppatori di Access (CISA) 


Va gia meglio, non si potrebbe eliminare quel msg "operazione annullata"
Grazie
Napoleone 

 ha scritto nel messaggio
news:XzOue.19152$D7.4...@twister1.libero.it...

Ciao Napoleone
non avevo letto bene il tuo primo post,
allora su caricamento  ci metti
If Me.RecordsetClone.RecordCount = 0 Then
         MsgBox ("nessun record")
        DoCmd.Close acForm, Me.name
 End If
Buon Week-end !!!
Ciao.

 Va gia meglio, non si potrebbe eliminare quel msg "operazione annullata"
Vedi l'ultima parte della 
www.donkarl.com/it
 FAQ 5.8.
Per OpenForm è lo stesso principio.


 ha scritto nel messaggio
news:cbOue.65403$75.32...@news4.tin.it...

Hai due strade
A)
dim intX as Integer
dim rs As Dao.Recordset
strSQL = "SELECT COUNT(*)AS Conteggio FROM MyTable "
    Set rs = db.OpenRecordset(strSQL)
    intX = Nz(rs!Conteggio, 0)
    rs.Close
    Set rs = Nothing
        If intX = 0 Then
            MsgBox "Non sono presenti dati"
        Else
       docmd.Openform "frmTuaMachera"
        End If
B
Set rs = db.OpenRecordset("SELECT * FROM MyTable")
            If rs.BOF And rs.EOF Then
            MsgBox "Non sono presenti dati"
Else
  docmd.Openform "frmTuaMachera"
End If
    rs.Close
    Set rs = Nothing
SunRex

 ha scritto nel messaggio
news:%TOue.65606$75.32...@news4.tin.it...

Chiaramente il controllo lo fai PRIMA di aprire la maschera.......
SunRex


RISOLTO! Grazie a tutti, mi funziona benissimo questa di Sandro.
Buon Fine settimana a tutti.
Napoleone