Newsgroup: it.comp.appl.access
Titolo: Come lanciare una query da una combo?

Ciao a tutti,
sono nuovo di questo gruppo e scusate se la domanda è banale.
Come posso lanciare una query a partire dal valore selezionato da una
combo?
Mi spiego meglio: ho una combo contenente i valori restituiti da una
select distinct su di un campo x di una tabella y. Vorrei lanciare una
query che utilizzi il valore selezionato dalla combo nell'istruzione
SQL di un'altra query del tipo:
SELECT ...
FROM ...
WHERE ... = "valore selezionato dalla combo";
Con il generatore di espressioni non ci sono riuscito. Ho provato
intervenendo sul codice vb della Combo usando metodi che mi
restituiscono il testo o l'indice della Casella combinata ma ogni
volta che seleziono un valore dalla combo mi si apre una finestrella
in cui devo inserire a mano il valore.
Grazie a tutti coloro che vorranno rispodermi

 WHERE ... = "valore selezionato dalla combo";
Non spieghi cosa vuoi fare poi con la QUERY visto che non è complilata
a cosa ti serve, non puoi visualizzarla, ma solo usarla come BaseDati
in un RECORDSET o altro.....!!!
In ogni caso....
Su evento After_Update della Combo:
Docmd.RunSQL "SELECT * FROM TuaTabella WHERE TuoCAMPO='" & Me.TuaCombo &
"'"
Mah..............
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:5d7da2fd.0212...@posting.google.com...

Accertati che la combo abbia la colonna associata con il valore che dovrai
passare alla query.
Poi costruisci una query del tipo:
SELECT Bolla.IDBolla, Bolla.*
FROM Bolla
WHERE (((Bolla.IDBolla)=[Forms]![TuaMaschera]![Combo1]));
A questo punto il gioco è fatto e potrai aprire la query quando vuoi a patto
di aver selezionato un valore nella combo.
Ciao, Carlo

Grazie ad entrambe, ma scusate se non ci sono riuscito. Ho fatto cosě:
Private Sub CasellaCombinata0_AfterUpdate()
MsgBox ("SELECT * FROM Tabella1 WHERE Nome = '" & Me.CasellaCombinata0
& "'")
DoCmd.RunSQL ("SELECT * FROM Tabella1 WHERE Nome = '" &
Me.CasellaCombinata0 & "'")
'DoCmd.RunMacro ("Macro1")
End Sub
Subito dopo la scelta del valore dalla combo mi appare la message box
con l'istruzione SQL (che ho provato ad eseguire e che fornisce esito
positivo anche senza il ; finale). Dopo aver dato l'OK alla msgbox
l'Access mi spara il seguente errore
Errore di run-time '2342'
Un'azione EseguiSQL richiede un argomento costituito da un'istruzione
SQL.
Lo stesso errore mi compare se uso Me.CasellaCombinata0.Text al posto
di Me.CasellaCombinata0
Addirittura lo stesso errore mi esce quando semplicemente uso
DoCmd.RunSQL ("SELECT * FROM Tabella1")
al posto di
DoCmd.RunSQL ("SELECT * FROM Tabella1 WHERE Nome = '" &
Me.CasellaCombinata0 & "'")
il che mi lascia supporre che l'errore non dipende dalla combo.
Ho provato anche l'altro metodo consigliato dal gentile Sig. Carlo
facendo eseguire la macro1 quando si verifica l'evento
CasellaCombinata0_AfterUpdate (come da ultima riga commentata). La
macro1 lancia la query2 cosě fatta:
SELECT Tabella1.*, Tabella1.ID
FROM Tabella1
WHERE (((Tabella1.ID)=[Maschere]![Maschera1]![CasellaCombinata0]));
ma quando scelgo un valore dalla combo mi esce il valore giusto nella
msgbox e quando faccio ok mi si apre una finestra con intestazione
Maschere!Maschera1!CasellaCombinata0
in cui devo inserire a mano il valore scelto dalla combo.
Grazie e scusate il disturbo. Ciao

 
[CUT]
Quello che hai provato a fare č solo una QRY Action, delle
quali non fanno parte le QRY di Selezione.
Per quello che devi fare forse il sistema di CARLO č il piů
semplice.
Creati una QRY, e dinamicamente da QBE inserisci nei CRITERI
il Riferimento alla COMBO, cosě come ti suggeriva CARLO.


 @Alex.
Grazie ancora ad Alex per il consiglio, anche a te usciva lo stesso
errore di run-time sulla stringa sql?
Ho già provato anche il metodo di Carlo. Dopo aver selezionato un
elemento dalla combo mi si apre una finestrella in cui devo reinserire
a mano il valore selezionato dalla combo.
Carlo, ci sei ancora? A te la query viene effettivamente lanciata
subito dopo la selezione di un valore dalla combo o anche a te si apre
la finestrella di inserimento del valore?
Grazie a chi mi può dare una soluzione.
Ciao