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