la sottomaschera di una form è valorizzata?

Controllare se un determinato campo su un form è valorizzato (per evitare di lasciarlo vuoto quando il dato è essenziale che esista) è assai semplice. Ce la caviamo con un banale controllo di questo tipo, fermando l'operazione di avanzamento tra record:

'controlla che sia stato valorizzato il sito
If IsNull(Me.idcampodacontrollare.Value) = True Then MsgBox "devi per forza avere valorizzato il campo nomedelcampodavalorizzare per aggiungere un nuovo record!", vbOKOnly: GoTo Fine

"Fine" è ovviamente una Label e può essere anche, banalmente, un qualunque numero di riga messo alla fine della Sub

La questione non è così semplice se invece dobbiamo controllare che sia il campo di una sottomashera presente sul form a essere valorizzato

In questo caso sarà utile effettuare una veloce interrogazione della tabella tramite Dlookup e sccessivamente prendere la decisione:

' inseriamo nella variabile myid lo id della form chiamante

myid = Me.ID_oggetto.Value

'Adesso creiamo la query di interrogazione. Meglio farlo a parte per non incasinarci con la sintassi. chr$(34) è l'ascii dei doppi apici


theqry = Chr$(34) & "id_nomedellaformchiamante=" & myid & Chr$(34)

' controlvar è la variabile di controllo: se sarà "null" sicuramente il campo della sottomaschera non è stato valorizzato


controlvar= DLookup("id_campodacontrollare", "nometabellacampodacontrollare", theqry): If IsNull(controlvar) = True Then MsgBox "Devi inserire obblogatoriamente almeno un valore nel campodacontrollare", vbOKOnly: GoTo Fine


 

 

No thoughts on “la sottomaschera di una form è valorizzata?”