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.

 

 

Ultimi Articoli

01.05.2017
Proteggere Access
11.03.2017
Perche' imparare il VBScript
22.08.2016
Rubrica con VBScript - Parte 2
28.07.2016
Rubbrica con VBScript - Parte 1
15.12.2015
Raccolta dati da sito web