Come inserire dati in maschere diverse
Eccoci con il primo tutorial del nuovo anno!
Lo scopo di oggi è di inserire dei dati
all'interno di caselle combinate.
Nell'esempio che consideriamo abbiamo una maschera in
cui inseriamo dei nominativi ed a fianco specifichiamo
il lavoro svolto leggendo la tabella su cui è basata la
casella combinata che abbiamo chiamato Servizio.
Se cerchiamo un lavoro che non è già stato inserito in tabella, sfruttiamo l'evento Non in elenco come segue:
Sull'evento Non in elenco della casella combinata Servizio inseriamo questa routine:
Private Sub Servizio_NotInList(NewData As
String, Response As Integer)
MsgBox "Doppio clic per inserire nuovo
dato", , "Messaggio"
Response = acDataErrContinue
End Sub
Sull'evento Su doppio clic della casella combinata Servizio inseriamo questa routine:
Private Sub Servizio_DblClick(Cancel As
Integer)
On Error GoTo Errore
Dim P As Long
If IsNull(Me![Servizio]) Then
Me![Servizio].Text = ""
Else
P = Me![Servizio]
Me![Servizio] = Null
End If
DoCmd.OpenForm "Categorie", , , , acFormAdd,
acDialog, "Inserisci qui il nuovo dato"
Me![Servizio].Requery
If P <> 0 Then Me![Servizio] = P
Exit Sub
Errore:
MsgBox Err.Description
Exit Sub
End Sub
In pratica, se si inserisce nella casella un lavoro inesistente il sistema avverte che bisogna fare doppio clic per inserirlo.
Facendo doppio clic si cancella il lavoro
eventualmente scritto, si apre la maschera che contiene
l'elenco dei servizi (che abbiamo chiamato
Categorie) precompilata dalla
voce Inserisci qui il nuovo dato.
Si scrive il nuovo dato, si chiude la maschera ed i
dati aggiunti sono disponibili nella casella combinata.
Buon lavoro.