Come inserire un record con VBA in Microsoft Access

Ecco come inserire un record con VBA in Microsoft Access.

Immaginiamo di avere una tabella tblClienti con questi campi:

tabella clienti

e una maschera con questi controlli:

Inserimento VBA

Come vedete, le caselle di testo non sono associate e la maschera non ha una origine record.

Ora, nell’evento su clic del pulsante Inserisci, che si chiama cmdInserisci, digitiamo il seguente codice:

Private Sub cmdInserisci_Click()
Dim strSQL As String
strSQL = "INSERT INTO tblClienti(RagioneSociale,PIVA) VALUES ("
strSQL = strSQL & """" & txtRagioneSociale & """,""" & txtPIVA & """"
strSQL = strSQL & ")"
CurrentDb.Execute strSQL
End Sub

Attenzione a digitare correttamente le doppie virgolette per racchiudere il valore del controllo txtRagioneSociale e del controllo txtPIVA che è anch’esso un testo, non un numero (! la partita IVA può iniziare con 0).

In queste istruzioni non viene effettuato alcun controllo se il record esista già in tabella. Perciò se eseguissimo il codice più di una volta, avremmo generato dei duplicati.

Prima di inserire il record, sarebbe opportuno effettuare qualche verifica e controllare che non esista già una riga con quella ragione sociale e quella partita IVA. A tal fine si potrebbe usare la funzione DCount e contare quanti record esistono in tabella con quella ragione sociale e quella partita IVA.