Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Nozioni di base di Visual Programming >> .

Come creare un Pass parametro di query di Access in VBA

Creazione di query con parametri con Microsoft Access VBA ( Visual Basic for Applications ) comporta l'uso di oggetti predefiniti di accesso, compresa la QueryDef e oggetti di database . La stringa di query utilizzata con questi oggetti è lo stesso utilizzato per la creazione query di Access senza VBA (ad esempio , "SELECT * FROM tabella WHERE Campo = [ user_entered_parameter ] " ) . Cose che ti serviranno
Microsoft Access
Mostra più istruzioni
1

Open Access e creare una tabella di dati di esempio utilizzando le seguenti righe. Inserisci il testo della prima riga come nomi dei campi della tabella.

Libro, datesold , parole netsalefurthering , 12/1/2009 , $ parole 5.03furthering , 12/3/2009 , $ 4.97der meisterstringer , 12/5/2009 , $ 1.97der meisterstringer , 12/6/2009 , 0,97 dollari
2

salvare la tabella come " libri", quindi inserire il Visual Basic (Integrated Development Environment ), premendo il tasto " Alt- F11 . "
3

Fare clic su" Inserisci ", seguito da " Modulo " sulla barra degli strumenti del IDE , quindi incollare il codice riportato di seguito nella finestra del codice :

pubblico sub param_q_select ( ) Dim db As DAO.DatabaseDim qd Come DAO.QueryDefDim sqry Come StringSet db = CurrentDbsqry = " SELECT * FROM libri WHERE libro come [ Inserire titolo del libro ] " Set qd = db.CreateQueryDef ( " qpSelect " , sqry ) End Sub
4

Eseguire la macro posizionando il cursore in qualsiasi punto all'interno di questa subroutine e premendo il tasto " F5 ".
5

tornare ad Access e chiudere la navigazione finestra a sinistra se è aperto . Riaprire la finestra e notare la nuova query memorizzata ( " qpSelect " ) . Fare doppio clic su questa query per eseguirlo , e digitare " * pelliccia * " al prompt . Si noti i risultati della query : solo le righe con "un'ulteriore parole " sono riportati
6

tornare all'IDE premendo il tasto " Alt- F11 " ed eseguire la macro utilizzando le istruzioni passo di 4 . . Si noti l' errore visualizzato questo momento ( "Object ' qpSelect ' esiste già " ) economici 7

rivedere il codice per evitare l'errore sostituendolo con questo codice: .

Pubblica sub param_q_select ( ) Dim db As DAO.DatabaseDim qd Come DAO.QueryDefDim sqry Come StringSet db = CurrentDbOn Error GoTo skip_deletedb.QueryDefs.Delete " qpSelect " skip_delete : sqry = " SELECT * FROM libri WHERE libro come [ Inserire titolo del libro ] " Set qd = db.CreateQueryDef ( " qpSelect " , sqry ) End Sub
8

rieseguire il codice utilizzando le istruzioni passo di 4 . Si noti che non vi è alcun errore questa volta
9

rivedere la macro in modo che l'utente del programma può scegliere quale campo per creare una query con parametri di : . Copiare la subroutine param_q_select piena e incollarlo in una zona vuota della finestra del codice . Rinominare il duplicato come param_q_choose_field
10

Sostituire il codice del programma esistente di param_q_choose_field , tra " in caso di errore ... " e le dichiarazioni "End Sub " . Digitare o incollare il codice invece :

Dim sfsf = InputBox ( " Inserisci il nome del campo " ) sqry = " SELECT * FROM libri WHERE" & sf & " come [ ENTER" & sf & " ] " On Error GoTo skip_deletedb.QueryDefs.Delete " qpSelect " skip_delete : Set qd = db.CreateQueryDef ( " qpSelect " , sqry ) End Sub
11

Re - eseguire la subroutine utilizzando le istruzioni passo di 4 e di tipo " netsale " quando il " campo Immettere il nome " appare pronta .
12

eseguire la query creata dalla subroutine utilizzando le istruzioni passo 5 di . Tuttavia, immettere " * 0 * " quando richiesto per il parametro netsale . Premere "ENTER" e notare che solo le righe il cui campo " netsale " contiene uno "0" sono stati restituiti .

 

Programmazione © www.354353.com