Newsgroup: it.comp.appl.access
Titolo: Nessun Record - Form vuota

ciao, di seguito vi posto il codice che sto provando ad utilizzare per
gestire l'apertura di una maschera. Il problema si verifica quando non c'è
nessun record da visualizzare, la maschera è completamente vuota (sarebbe
bello non aprirla nemmeno, in questo caso) ma quel che è peggio è che il
pulsante di chiusura non mi appare e non appaiono nemmeno i bottoni che
dovrebbero esserci (tra cui quello che ne gestisce la chiusura) e la
maschera è a scelta obbligatoria!
Tutto impallato, unico rimedio ALT+F4.
Non so se serve per la vostra analisi, ma la maschera ha una sottomaschera.
Come dovrei fare?
*******************************************************
Private Sub Comando38_Click()
On Error GoTo Err_Comando38_Click
If Me.CasellaEvento = Null Then GoTo esci1
If Me.CasellaEvento <> Null Then GoTo vai1
vai1:
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "Form_d_posti"
    stLinkCriteria = "[IDEVENTO]=" & "'" & Me![CasellaEvento] & "'"
    If stLinkCriteria = Null Then GoTo messaggio
    If stLinkCriteria = Null Then GoTo vai
vai:
    DoCmd.OpenForm stDocName, , , stLinkCriteria, , acDialog
    GoTo Esci
messaggio:
MsgBox "Nessun record selezionato!", vbInformation, "DB gestione arc"
GoTo Esci
esci1:
MsgBox "Occorre selezionare un Trek", vbInformation, "DB gestione arc"
GoTo Esci
Esci:
Exit Sub
Exit_Comando38_Click:
    Exit Sub
Err_Comando38_Click:
    MsgBox err.Description
    Resume Exit_Comando38_Click
End Sub
*******************************************************

 bello non aprirla nemmeno, in questo caso) ....
[CUT]
Se hai un campo chiave sul recordset associato alla maschera, inserisci il
seguente codice sull'evento apertura della maschera stessa:
If IsNull([<nome campo chiave>]) Then
    Msgbox "Nessun record da visualizzare"
    Cancel = True
End If
Ciao
LaLo

...
Puoi usare DCount per vedere prima se ci sono record nel
Recordsource della maschera e non aprire la maschera.
Puoi anche spostare i bottoni dal corpo al pie o intestazione della
maschera perché solo il corpo è vuoto se non ci sono record.
--
HTH
Karl
*********
Non meravigliarti del mio strano italiano. M'esercito qui.
Access-FAQ (tedesco): 
http://www.donkarl.com

 ha scritto nel messaggio
news:930t3f$li8$1...@nread1.inwind.it...

Quello che ti invio è un esempio di come potresti gestire la mancanza di
dati in una form.
'------------------------
Private Sub Comando0_Click()
On Error GoTo Err_Comando0_Click
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "seRecordsourceVuoto"
    DoCmd.Echo False
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    If Forms(stDocName).RecordsetClone.EOF Then
        If MsgBox("La maschera è vuota, prosegui?", vbInformation + vbYesNo,
"Informazione") = vbYes Then
            Forms(stDocName).SetFocus
        Else
            DoCmd.Close acForm, stDocName
        End If
    Else
        Forms(stDocName).SetFocus
    End If
Exit_Comando0_Click:
    DoCmd.Echo True
    Exit Sub
Err_Comando0_Click:
    DoCmd.Echo True
    MsgBox Err.Description
End Sub
'------------------------
Ah! Il codice è associato ad un bottone (chiamato Comando0) e nell'evento
"su clic"...
Ciao.