Impedire chiusura maschera

di hangart il
2 risposte
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

  • 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....
  • Grazie Mille, risolto!
Devi accedere o registrarti per scrivere nel forum
2 risposte