CISA FotoGallery

Statistiche

Tot. visite contenuti : 928257
Home Articoli tecnici Query e viste Passare un parametro a Queries Parametriche da codice VBA

Passare un parametro a Queries Parametriche da codice VBA

Questo Demo è stato inserito per aiutare un certo sig. sb che ha postato sul Ng di microsoft.public.it.office.access una complessa questione sull'uso delle Query Parametriche.
Nella speranza di dargli nozioni utili propongo queste considerazioni:

Supponiamo di avere una Query Compilata con questo Statement SQL chiamata QryMovimenti:

SELECT * FROM Tb_Ordini WHERE IdCliente=[CodiceCliente:]

Come si vede il criterio WHERE contiene un Parametro che è gestibile via Codice.
Aprendo la Query ci verrà restituito un messaggio che ci chiederà di inserire il CodiceCliente in una sorta di Maschera di Dialogo.
Inserito Manualmente l'Identificativo Cliente la nostra Query restituirà l'elenco dei Movimenti(Ordini) relativi a quel Cliente.

Ora se dovessimo usare questo metodo sarebbe abbastanza scomodo, fortunatamente si può interagire con la Query via Codice VBA:

CODICE

Function GetRS(IdCodiceCliente As Long)
    Dim qdf As DAO.QueryDef
    Dim rs As DAO.Recordset
    Set qdf = CurrentDb.QueryDefs("QryMovimenti")
    qdf.Parameters![CodiceCliente:] = IdCodiceCliente
    Set rs = qdf.OpenRecordset
    If rs.EOF And rs.BOF Then
        
Msgbox "Nessun Movimento per questo Cliente"
        Exit Function
    End
IF
    ' In RS ho tutti i dati
End Function


Nel Nostro Recordset ci saranno tutti i Movimenti relativi al CodiceCliente passato come Parameter alla Query.

Alessandro