Tutorial SQL VBA

Structured Query Language (SQL) è il linguaggio informatico utilizzato per la gestione dei database relazionali. Visual Basic for Applications (VBA) è il linguaggio di programmazione sviluppato da Microsoft da utilizzare con le applicazioni di Microsoft Office per creare contenuto dinamico. Microsoft Access è il programma di database all'interno della suite Microsoft Office che utilizza sia SQL che VBA per gestire i dati e fornire automazione alle funzioni di database sistematiche. Utilizzando la shell di programmazione dietro Microsoft Access, è possibile connettersi al database principale, cercare dati, aggiungere nuovi dati ed eliminare dati combinando il codice di programmazione SQL e VBA.

Passo 1

Apri il database con cui vuoi lavorare in Microsoft Access. Aprire l'editor di Visual Basic facendo clic sulla scheda "Strumenti database" e quindi su "Visual Basic".

Passo 2

Fare clic su "Inserisci" e quindi su "Modulo" nell'editor di Visual Basic.

Passaggio 3

Digita il codice per connetterti al database. Dovrai stabilire una connessione per poter utilizzare le istruzioni SQL per il database.

Sub SQL Tutorial()

 'Imposta le tue variabili per contenere le informazioni Dim Conn come ADODB.Connection 'Questa è la connessione effettiva Dim rsSelect come ADODB.Recordset 'Qui è dove salverai i dati Dim rsDelete come ADODB.Recordset Dim rsInsert as ADODB.Recordset Dim rsUpdate as ADODB.Recordset Dim strSelectQuery as String 'Questo è il comando SQL SELECT effettivo Dim strDeleteQuery as String 'Questo conterrà l'istruzione SQL DELETE Dim strInsertQuery as String 'Questa è l'istruzione SQL INSERT Dim strUpdateQuery as String 'Questo conterrà l'istruzione UPDATE 'Digita i dettagli per connetterti al database che vuoi Set Conn = New ADODB.Connection With Conn .ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" &_ "Origine dati=C:\Documents\SampleDatabase.mdb" .Apri fine con 

Ora la tua connessione al database è stata stabilita. Successivamente, assegnerai istruzioni SQL alle variabili che hai già dichiarato sopra.

Passaggio 4

Digitare un'istruzione SQL "SELECT" per selezionare i dati dal database. Una query SELECT è solitamente composta in questo modo: "SELECT columns FROM table". È possibile aggiungere criteri all'istruzione SELECT aggiungendo la clausola "WHERE". Ad esempio, hai una tabella chiamata "Clienti" in cui desideri cercare tutti i clienti con il cognome "Smith". Il codice VBA e SQL sarà simile a questo:

strSelectQuery = "SELECT * FROM tblCustomers WHERE LastName = 'Smith'

L'asterisco (*) è un carattere jolly, il che significa che si desidera estrarre tutte le informazioni, o colonne, su chiunque abbia il cognome "Smith". Per selezionare determinate colonne, utilizzerai:

strSelectQuery = "SELECT FirstName, LastName FROM tblCustomers WHERE LastName = 'Smith'"

Passaggio 5

Digitare l'istruzione "DELETE" se si desidera eliminare righe di dati da una tabella. Il codice per questo è:

strDeleteQuery = "ELIMINA DA tblCustomers WHERE LastName = 'Smith'"

Questa istruzione eliminerà tutte le righe in cui il cliente ha il cognome "Smith" dalla tabella "Clienti". La sintassi di base per un'istruzione DELETE è "DELETE FROM tabella WHERE colonna = 'valore'."

Passaggio 6

Digita la sintassi per inserire una nuova riga in una tabella. Utilizzare l'istruzione "INSERT".

strInsertQuery = "INSERT INTO tblCustomers VALUES (John, Smith, 123 Main Street, Cleveland, Ohio)"

Se avevi una tabella Clienti con le colonne Nome, Cognome, Indirizzo, Città e Stato, questa istruzione verrà inserita nei dati nella colonna di destra. La virgola dice al codice di saltare alla colonna successiva prima di inserire i valori. Assicurati di digitare i valori nell'ordine corretto delle colonne nella tabella in modo che i tuoi dati siano coerenti.

Passaggio 7

Digitare l'istruzione SQL per modificare una riga di dati. Questa è l'istruzione "UPDATE".

strUpdateQuery = "AGGIORNA tblCustomers SET LastName='Jones', First WHERE LastName='Smith'"

Questa affermazione cambia tutti coloro che hanno il cognome "Smith" in "Jones" e il loro nome in "Jim". È possibile modificare più colonne di dati contemporaneamente in un'istruzione UPDATE separando le colonne con virgole. La sintassi di base per un UPDATE è "UPDATE table SET colonna1=valore1, colonna2=valore2, colonna3=valore3,... WHERE colonna = valore".

Digita il codice VBA che eseguirà la query e salverà i risultati nei recordset. Chiudi il codice VBA.

Imposta rsSelect = Nuovo ADODB.Recordset

Con rsSelect

       Set .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strSelectQuery .Open 

Termina con

Set rsDelete = Nuovo ADODB.Recordset

Con rsCancella

       Set .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strDeleteQuery .Open 

Termina con

Set rsInsert = Nuovo ADODB.Recordset

Con rsInsert

       Set .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strInsertQuery .Open 

Termina con

Set rsUpdate = Nuovo ADODB.Recordset

Con rsDelect

       Set .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strUpdateQuery .Open 

Termina con

'Digita il codice VBA per lavorare con i dati che hai raccolto tramite le istruzioni SQL.

'Puoi utilizzare i dati per pubblicare nei moduli, in altre tabelle o nei report.

'Chiudi i recordset e la connessione con te è terminata

rsSeleziona.Chiudi

rsElimina.Chiudi

rsIns.Chiudi

rsUpdate.Chiudi

Fine sottotitolo