Su modulo1 ho inserito la
public uscita as integer
ora ho 2 maschere, maschera1 dove ho il pulsante di uscita ed è visibile, e Chiusura che è una maschera visibile=no dove ho inserito il codice di uscita.
Premetto che come avete potuto notare io non sono un esperto di Access, quindi su maschera1 c'è questo codice:
Private Sub Comando0_Click()
uscita = 1
DoCmd.OpenForm "Chiusura"
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call MsgBox("Devi premere il pulsante Esci", vbInformation, "Informazione")
Cancel = True
uscita = 2
End Sub
mentre su Chiusura c'è questo codice:
Private Sub form_load()
If uscita = 1 Then
DoCmd.Quit acQuitSaveAll
Else
DoCmd.Close acForm, "Chiusura"
End If
End Sub
Il problema sta in Form_unload di maschera1, che nel mio caso è la maschera principale del DB.
Quindi anche se premo il pulsante esci, carico la maschera di Chiusura che controlla la variabile per capire da dove si arriva, alla fine della fiera in ogni modo la maschera1 si deve chiudere e quindi sempre si attiva form_unload e quindi Messaggio "Devi premere il pulsante Esci".
Io da questa situazione non riesco a venirne fuori, sembra il cane che si morde la coda