Impedire chiusura maschera

di il
2 risposte

Impedire chiusura maschera

Buongiorno a tutti,
ho necessità di impedire la chiusura di una maschera (frmRawMat) al verificarsi di una determinata condizione.
If IsNull(Me.LabRMValidRem) And Me.LabRMValid <> 1 Then
MsgBox "As the result is not positive, please fill the ''Remarks'' field.. ", vbOKOnly, "Missing information"
Me.LabRMValidRem.SetFocus
Else: End If
La stessa verifica è applicata all'evento"dopo aggiornamento" del campo "LabRMValid" e funziona correttamente generando il messaggio e riposizionando il cursore sul campo "LabRMValidRem"

Ora, pensavo erroneamente di poter gestire allo stesso modo l'evento "Su chiusura" della maschera aggiungendo un Exit sub dopo il set focus, ma nonostante la verifica sia effettuata ed il messaggio generato correttamente, il processo di chiusura della form non si arresta:
If IsNull(Me.LabRMValidRem) And Me.LabRMValid <> 1 Then
MsgBox "As the result is not positive, please fill the ''Remarks'' field.. ", vbOKOnly, "Missing information"
Me.LabRMValidRem.SetFocus
Exit Sub
Else: End If
Ho pensato anche di agire sull'evento "prima di aggiornare" della maschera, ma tentando di chiudere la form viene generato il messaggio standard di access "Impossibile salvare il record in questo momento...Continuare? ", mentre io vorrei che l'utente fosse forzato a completare correttamente l'inserimento del campo :
Private Sub Form_BeforeUpdate(Cancel As Integer)

If IsNull(Me.LabRMValidRem) And Me.LabRMValid <> 1 Then
MsgBox "As the result is not positive, please fill the ''Remarks'' field.. ", vbOKOnly, "Missing information"
Me.LabRMValidRem.SetFocus

Cancel = True

Else: End If

End Sub
Che fare?
Grazie in anticipo per ogni suggerimento

Marco

2 Risposte

  • Re: Impedire chiusura maschera

    Devi usare l'evento Unload di maschera che espone il parametro CANCEL che serve appositamente per annullare l'evento... quindi se forzi a TRUE Cancel su condizione impedirai la.chiusura....
  • Re: Impedire chiusura maschera

    Grazie Mille, risolto!
Devi accedere o registrarti per scrivere nel forum
2 risposte