Newsgroup: it.comp.appl.access
Titolo: SQL in listbox, non filtra ... e neanche ordina

Ciao a tutti,
che io non sia un genio con SQL è un dato di fatto, d'altronde è da
poco che ci smanetto su, ma a volte proprio no riesco a venirne a
capo.
In una maschera ho unca Combo chiamata "Partenza" e una ListBox
chiamata "Arrivo"
Nella Combo sull'evento DopoAggiornamento scrivo questo codice:
Dim strsql As String
strsql = "SELECT DISTANZE.DISTANZE_TAPPA2, DISTANZE.DISTANZE_TAPPA1,
DISTANZE.DISTANZE_KM, DESTINAZIONE.DESTINAZIONE_NOME,
DESTINAZIONE.DESTINAZIONE_INDIRIZZO,DISTANZE.IDDISTANZE" _
& " FROM DISTANZE INNER JOIN DESTINAZIONE ON DISTANZE.DISTANZE_TAPPA2
= DESTINAZIONE.DESTINAZIONE_ID" _
& " WHERE DISTANZE.DISTANZE_TAPPA1=" & Me.Cmb_Partenza & ";"
Me.CmbArrivo.RowSource = strsql
Perfetto la List Arrivo si popola con i dati fliltrati correttamente.
E qui primo problema perchè se aggiungo la riga
ORDER BY DESTINAZIONE.DESTINAZIONE_NOME
la list non si popola più....
Secondo problema.
Ho aggiunto una casella di testo chiamata "TxtCerca" che mi serve per
cercare un valore all'interno della ListBox digitando i caratteri che
mi servono.
Il codice sull'evento modfica della casella di testo é:
Dim CaratteriDigitati As String
    CaratteriDigitati = Nz(Me!TxtCerca.Text, "")
    Me!CmbArrivo.RowSource = "SELECT DISTANZE.DISTANZE_TAPPA2,
DISTANZE.DISTANZE_TAPPA1, DISTANZE.DISTANZE_KM,
DESTINAZIONE.DESTINAZIONE_NOME, DESTINAZIONE.DESTINAZIONE_INDIRIZZO,
DISTANZE.IDDISTANZE" _
& " FROM DISTANZE INNER JOIN DESTINAZIONE ON DISTANZE.DISTANZE_TAPPA2
= DESTINAZIONE.DESTINAZIONE_ID" _
& " WHERE destinazione.destinazione_nome LIKE '*" & CaratteriDigitati
& "*'"
Funziona si ma il problema è che mi restituisce tutti i record che
corrispondono alla stringa da me immessa e non quelli presenti
all'interno del filtro precedentemente creato.
E' come se la riga di codice FROM ...... INNER JOIN.... non venisse
presa in considerazione.
Dove sto sbagliando?
Grazie x l'aiuto
Massimo

 ha scritto nel messaggio 
news:1f7e5929-ad11-483e...@e20g2000vbc.googlegroups.com...
Ciao a tutti,
che io non sia un genio con SQL � un dato di fatto, d'altronde � da
poco che ci smanetto su, ma a volte proprio no riesco a venirne a
capo.
In una maschera ho unca Combo chiamata "Partenza" e una ListBox
chiamata "Arrivo"
Nella Combo sull'evento DopoAggiornamento scrivo questo codice:
Dim strsql As String
strsql = "SELECT DISTANZE.DISTANZE_TAPPA2, DISTANZE.DISTANZE_TAPPA1,
DISTANZE.DISTANZE_KM, DESTINAZIONE.DESTINAZIONE_NOME,
DESTINAZIONE.DESTINAZIONE_INDIRIZZO,DISTANZE.IDDISTANZE" _
& " FROM DISTANZE INNER JOIN DESTINAZIONE ON DISTANZE.DISTANZE_TAPPA2
= DESTINAZIONE.DESTINAZIONE_ID" _
& " WHERE DISTANZE.DISTANZE_TAPPA1=" & Me.Cmb_Partenza & ";"
Me.CmbArrivo.RowSource = strsql
Perfetto la List Arrivo si popola con i dati fliltrati correttamente.
E qui primo problema perch� se aggiungo la riga
ORDER BY DESTINAZIONE.DESTINAZIONE_NOME
la list non si popola pi�....
Perch� non posti come scrivi l'sql?
Secondo problema.
Ho aggiunto una casella di testo chiamata "TxtCerca" che mi serve per
cercare un valore all'interno della ListBox digitando i caratteri che
mi servono.
Il codice sull'evento modfica della casella di testo �:
Dim CaratteriDigitati As String
    CaratteriDigitati = Nz(Me!TxtCerca.Text, "")
    Me!CmbArrivo.RowSource = "SELECT DISTANZE.DISTANZE_TAPPA2,
DISTANZE.DISTANZE_TAPPA1, DISTANZE.DISTANZE_KM,
DESTINAZIONE.DESTINAZIONE_NOME, DESTINAZIONE.DESTINAZIONE_INDIRIZZO,
DISTANZE.IDDISTANZE" _
& " FROM DISTANZE INNER JOIN DESTINAZIONE ON DISTANZE.DISTANZE_TAPPA2
= DESTINAZIONE.DESTINAZIONE_ID" _
& " WHERE destinazione.destinazione_nome LIKE '*" & CaratteriDigitati
& "*'"
Funziona si ma il problema � che mi restituisce tutti i record che
corrispondono alla stringa da me immessa e non quelli presenti
all'interno del filtro precedentemente creato.
E' come se la riga di codice FROM ...... INNER JOIN.... non venisse
presa in considerazione.
Dove sto sbagliando?
La butto li....l'evento? Fai un debug e prova a vedere se la variabile 
CaratteriDigitati si popola correttamente.
Prova a mettere il codice su Dopo aggiornamento.
Grazie x l'aiuto
Massimo
Ciao
-- 
Roberto da Parma