View Full Version : [Access] Query Parametrica e maschera per input
Dark Phoenix
21-04-2009, 10:04
Salve a tutti mi occorre il vostro aiuto :help:
Non sono molto esperto con Access anzi per niente :D
I problemi che ho sono i seguenti :muro: :
1) Ho una query e la vorrei far diventare parametrica. Come si fa? Potete farmi un esempio?
2) Vorrei legare i parametri della query con quelli di un'eventuale... maschera?! :confused: (non so ditemi voi), per facilitare la selezione.
Grazie a tutti in anticipo
P.S.
Versione Access 2003
Dai un'occhiata a questa discussione :
http://www.hwupgrade.it/forum/showthread.php?t=1747367
In particolare miei post #4 ( esempi di query parametriche ) e #7 ( richiamo di query parametriche da VBA )...
Dark Phoenix
27-04-2009, 18:21
Grazie mille dovrebbe fare proprio al caso mio. :)
Dark Phoenix
28-04-2009, 17:45
Ciao, visto quello che mi hai linkato e sono riuscito a fare una cosa del genere....
Dim nome_componente As String
CasellaCombinata3.SetFocus
nome_componente = CasellaCombinata3.Text
Dim RI As QueryDef
Set RI = CurrentDb.QueryDefs("rischio_intrinseco")
RI.Parameters("NOME COMPONENTE") = nome_componente
ci sono quasi.... come faccio a lanciare la query e visualizzare il tutto?
non riesco a trovare il modo... :what:
Ciao, visto quello che mi hai linkato e sono riuscito a fare una cosa del genere....
Dim nome_componente As String
CasellaCombinata3.SetFocus
nome_componente = CasellaCombinata3.Text
Dim RI As QueryDef
Set RI = CurrentDb.QueryDefs("rischio_intrinseco")
RI.Parameters("NOME COMPONENTE") = nome_componente
ci sono quasi.... come faccio a lanciare la query e visualizzare il tutto?
non riesco a trovare il modo... :what:
Ok. Ci sei quasi. ;)
Devi anzitutto creare una sottomaschera nella maschera principale che contiene quella CasellaCombinata ( ossia la Maschera da cui lanci in esecuzione quel codice ).
Puoi creare la sottomaschera con la procedura guidata e farla puntare alla Tabella su cui applichi la Query "rischio_intrinseco". Fai in modo che la sottomaschera visualizzi esattamente i campi che vengono ritornati da quella query, ovviamente, perciò non aggiungere/eliminare dalla sottomaschera campi che non sono ritornati dalla query.
A questo punto, lanciando la maschera principale noterai che la sottomaschera visualizza correttamente tutti i dati non filtrati ( in pratica è una SELECT * ).
Bene, aggiungi al codice che hai già scritto queste righe :
'Recordset dei risultati
Dim RS As Recordset
Set RS = RI.OpenRecordset
Set Me.NomeSottomaschera.Form.Recordset = RS
Ora, al verificarsi dell'evento che avrai scelto ( Click su pulsante, Change sulla Combo, ecc... ) la sottomaschera visualizzerà solo i record filtrati dalla query parametrica. ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.