Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Filtrare una tabella da un controllo combo
domenica 25 luglio 2010 - 09.44
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
Windows XP
|
Access (.mdb)
raul_lallo
Profilo
| Newbie
12
messaggi | Data Invio:
dom 25 lug 2010 - 09:44
Ho una tabella su cui vorrei fare delle scelte successive filtrando i valori da selezionare.
Ho impostato in una maschera un primo controllo combo1 in cui ho messo come origine riga select distinct
di un primo parametro di selezione della tabella.
Ho poi, sempre sulla stessa maschera, un secondo controllo combo2 in cui vorrei che mi apparissero i records
filtrati in base alla scelta della combo1.
Ho provato in vari modi ma non ci riesco. Potreste aiutarmi? Grazie
iif
Profilo
| Expert
713
messaggi | Data Invio:
mar 27 lug 2010 - 14:43
Ciao, se ho capito, vorresti filtrare la seconda combo con il valore selezionato dalla prima?
raul_lallo
Profilo
| Newbie
12
messaggi | Data Invio:
mer 28 lug 2010 - 08:30
Si. Non riesco a passare il valore scelta nella prima combo nel SQl/filtro della seconda. Va inoltre tenuto conto che la tabella e' sempre la stessa. Grazie
raul_lallo
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 28 lug 2010 - 08:32
Quando carichi i dati della seconda combo dovresti prendere come valore da utilizzare per il filtro la proprietà boundtext o text della prima combo.
raul_lallo
Profilo
| Newbie
12
messaggi | Data Invio:
mer 28 lug 2010 - 09:51
e' proprio quello che non riesco a fare. Forse è un problema di come scrivere.
Ho provato a passare il valore della prima combo direttamente con Me.combo1.value oppure attraverso una variabile variabile = Me.combo1.value e che effettivamente sono presenti sulla combo2 in quanto se ad esempio inserisco un msgbox su combo2.click() le vedo, però quando le metto nell'SQL o direttamente nel criterio di filtro dell'origine della riga sembra non essere considerata in quanto la combo due risulta blank.
raul_lallo
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 28 lug 2010 - 09:59
Se posti il codice....
raul_lallo
Profilo
| Newbie
12
messaggi | Data Invio:
mer 28 lug 2010 - 13:05
che significa ....posti(?) il codice?
Come si fa?
Ho cercato anche di racchiudere il Me.combo1.value tra virgolette, doppie virgolette o con un & avanti del nome ed anche racchiuso tra virgolette all'interno della stringa sql o nei criteri della propietà origine riga. Forse la sintassi non è giusta?
raul_lallo
iif
Profilo
| Expert
713
messaggi | Data Invio:
mer 28 lug 2010 - 13:06
quando rispondi a questo post metti nella finestra il codice che utilizzi.
raul_lallo
Profilo
| Newbie
12
messaggi | Data Invio:
ven 30 lug 2010 - 08:22
Combo uno
Nome elemento Scelta_lista
Origine controllo: blank
Tipo origine riga: Table/query
Origine riga: SELECT DISTINCT Uno.Progetto FROM Uno;
Numero colonne: 1
Colonna associate : 1
Combo due
Nome elemento Scelta_lista1
Origine controllo: Nome
Origine riga: SELECT Uno.NUMREC, Uno.Nome, Uno.Progetto FROM Uno WHERE ((Uno.Progetto)=[Me].[scelta_lista].[value]));
Numero colonne: 3
colonna associate : 2
raul_lallo
raul_lallo
Profilo
| Newbie
12
messaggi | Data Invio:
mar 3 ago 2010 - 12:32
Avevo già inviato la risposta la settimana scorsa. lo rimando solo per essere sicuro che sia stato ricevuto e magari il ritardo della risposta è solo perchè è iniziato agosto.
grazie
Combo uno
Nome elemento Scelta_lista
Origine controllo: blank
Tipo origine riga: Table/query
Origine riga: SELECT DISTINCT Uno.Progetto FROM Uno;
Numero colonne: 1
Colonna associate : 1
Combo due
Nome elemento Scelta_lista1
Origine controllo: Nome
Origine riga: SELECT Uno.NUMREC, Uno.Nome, Uno.Progetto FROM Uno WHERE ((Uno.Progetto)=[Me].[scelta_lista].[value]));
Numero colonne: 3
colonna associate : 2
raul_lallo
raul_lallo
iif
Profilo
| Expert
713
messaggi | Data Invio:
mar 3 ago 2010 - 12:46
Hai controllato che il valore che passi alla seconda select non sia vuoto?
raul_lallo
Profilo
| Newbie
12
messaggi | Data Invio:
mar 3 ago 2010 - 12:55
scusa ho messo i nomi combi 1 e combo2 solo per risponderti velocemente, però nel msgbox ho messo il nome esatto di comb, tanto che mi fa apparire il valore.
si ho controllato.
Per essere sicuro ho inserito msgbox (Me.Scelta_lista.value) nell'evento prima di update combo2 ed i valore risulta
raul_lallo
raul_lallo
Profilo
| Newbie
12
messaggi | Data Invio:
mar 10 ago 2010 - 08:12
Non ho più ricevuto alcuna risposta. Devo aspettare la fine del periodo di ferie?. Grazie
raul_lallo
iif
Profilo
| Expert
713
messaggi | Data Invio:
mar 10 ago 2010 - 09:04
Se la prendi così puoi ache aspettare in eterno. Prego.
raul_lallo
Profilo
| Newbie
12
messaggi | Data Invio:
mar 10 ago 2010 - 09:56
Scusa, non intendevo essere scortese ma solo avere un'idea dell'aiuto che potreste darmi per un problema che credo sia difficile solo per me che ne so poco e niente di programmazione.
In ogni caso ti rinnovo le scuse perchè ho visto che normalmente rispondete quasi immediatamente ed invece è più di una settimana che non ricevevo notizie e mi/vi chiedevo se il ritardo non era forse dovuto alle ferie.
raul_lallo
iif
Profilo
| Expert
713
messaggi | Data Invio:
mar 10 ago 2010 - 09:58
ok, nessun problema, puoi inserire nella risposta il codice che utilizzi?
raul_lallo
Profilo
| Newbie
12
messaggi | Data Invio:
mar 10 ago 2010 - 14:30
cosa intendi per codici? Non sono quelli che inserisco nelle proprietà della combo?
per la Combo uno
Nome elemento Scelta_lista
Origine controllo: blank
Tipo origine riga: Table/query
Origine riga: SELECT DISTINCT Uno.Progetto FROM Uno;
Numero colonne: 1
Colonna associate : 1
per la Combo due
Nome elemento Scelta_lista1
Origine controllo: Nome
Origine riga: SELECT Uno.NUMREC, Uno.Nome, Uno.Progetto FROM Uno WHERE ((Uno.Progetto)=[Me].[scelta_lista].[value]));
Numero colonne: 3
colonna associate : 2
La tabella si chiama Uno
raul_lallo
iif
Profilo
| Expert
713
messaggi | Data Invio:
mar 10 ago 2010 - 14:35
Tu hai scritto:
SELECT Uno.NUMREC, Uno.Nome, Uno.Progetto FROM Uno WHERE ((Uno.Progetto)=[Me].[scelta_lista].[value]));
Questa select è una stringa?
Se si:
"SELECT NUMREC, Nome, Progetto FROM Uno WHERE Progetto=" & Combo1.text
Nel caso in cui il valore che gli passi è una stringa sarà:
"SELECT NUMREC, Nome, Progetto FROM Uno WHERE Progetto='" & Combo1.text & "'"
raul_lallo
Profilo
| Newbie
12
messaggi | Data Invio:
mer 11 ago 2010 - 10:10
Non sono riuscito a farla funzionare sia cercando di immettere una stringa (campi Nome e Progetto ovvero proprietà della combo1 “Scelta_lista1” colonna associata 2 o 3) od un numero NUMREC (proprietà colonna associata colonna 1) (Proprietà Larghezza colonne di Scelta_lista1 2,2,2)
1. la codifica della query io la inserisco come proprietà "origine riga" della combo1 la cui proprietà nome è "Scelta_Lista1"
2. Inserisco la punteggiatura delle virgolette come suggerito per la stringa :
"SELECT NUMREC, Nome, Progetto FROM Uno WHERE Progetto=' & "Scelta_Lista.value" & "'";
3. Faccio girare il programma
4. Sebbene sulla combo Scelta_lista appaia un valore (stringa) nella combo Scelta_lista1 non appare nulla.
5. Cambio il valore della combo Scelta_lista e non succede nulla.
6. Clicco all’interno della combo Scelta_Lista1 e non succede nulla
7. Se clicco sulla freccia di scelta della combo Scelta_Lista1 appare il seguente messaggio di errore:
L’origine record “”SELECT NUMREC, Nome, Progetto FROM Uno WHERE Progetto=’ & “Scelta_Lista.text” & “’”” specificata sulla maschera o sul report non esiste.
n.b. Io non ho messo le doppie virgolette iniziali e finali. Evidentemente le mette da sole compilando le proprietà della combo Scelta_Lista1.
Ho provato a mettere 2 campi testo ed una msgbox per avere un controllo dei valori
Private Sub Scelta_lista_AfterUpdate() 'Scelta As Variant)
Me.Testo41.Value = Me.Scelta_lista.Value) 'Text)
Me.Testo47.Value = Me.Scelta_lista.Value) 'Text)
End Sub
Private Sub Scelta_lista1_GotFocus()
MsgBox (Me.Scelta_lista.Value) 'Text)
End Sub
Private Sub Scelta_lista1_Exit(Cancel As Integer)
Me.Testo41.Value = Me.Scelta_lista.Value ‘Text
Me.Testo47.Value = Me.Scelta_lista1.Value ‘Text
MsgBox (Me.Scelta_lista.Value) 'Text)
Me.Testo41.Value = Me.Scelta_lista.Value ‘Text
Me.Testo47.Value = Me.Scelta_lista1.Value ‘Text
End Sub
Se scrivo text come parametro della combo mi da il seguente errore:
Errore di run-time ‘2185’
Impossibile fare riferimento ad una proprietà o ad un metodo per un controllo a meno che non abbia lo stato attivo.
Se invece metto Scelta_lista.value le cose vanno meglio.
Nel msg e nel campo Testo41 e Testo47 appare la scelta della combo Scelta_lista non appena viene modificato il suo valore. .
Nel campo Test47 tale valore viene cancellato/azzerato dopo il msgbox in uscita di Scelta_lista1
raul_lallo
raul_lallo
Profilo
| Newbie
12
messaggi | Data Invio:
mer 11 ago 2010 - 10:10
Non sono riuscito a farla funzionare sia cercando di immettere una stringa (campi Nome e Progetto ovvero proprietà della combo1 “Scelta_lista1” colonna associata 2 o 3) od un numero NUMREC (proprietà colonna associata colonna 1) (Proprietà Larghezza colonne di Scelta_lista1 2,2,2)
1. la codifica della query io la inserisco come proprietà "origine riga" della combo1 la cui proprietà nome è "Scelta_Lista1"
2. Inserisco la punteggiatura delle virgolette come suggerito per la stringa :
"SELECT NUMREC, Nome, Progetto FROM Uno WHERE Progetto=' & "Scelta_Lista.value" & "'";
3. Faccio girare il programma
4. Sebbene sulla combo Scelta_lista appaia un valore (stringa) nella combo Scelta_lista1 non appare nulla.
5. Cambio il valore della combo Scelta_lista e non succede nulla.
6. Clicco all’interno della combo Scelta_Lista1 e non succede nulla
7. Se clicco sulla freccia di scelta della combo Scelta_Lista1 appare il seguente messaggio di errore:
L’origine record “”SELECT NUMREC, Nome, Progetto FROM Uno WHERE Progetto=’ & “Scelta_Lista.text” & “’”” specificata sulla maschera o sul report non esiste.
n.b. Io non ho messo le doppie virgolette iniziali e finali. Evidentemente le mette da sole compilando le proprietà della combo Scelta_Lista1.
Ho provato a mettere 2 campi testo ed una msgbox per avere un controllo dei valori
Private Sub Scelta_lista_AfterUpdate() 'Scelta As Variant)
Me.Testo41.Value = Me.Scelta_lista.Value) 'Text)
Me.Testo47.Value = Me.Scelta_lista.Value) 'Text)
End Sub
Private Sub Scelta_lista1_GotFocus()
MsgBox (Me.Scelta_lista.Value) 'Text)
End Sub
Private Sub Scelta_lista1_Exit(Cancel As Integer)
Me.Testo41.Value = Me.Scelta_lista.Value ‘Text
Me.Testo47.Value = Me.Scelta_lista1.Value ‘Text
MsgBox (Me.Scelta_lista.Value) 'Text)
Me.Testo41.Value = Me.Scelta_lista.Value ‘Text
Me.Testo47.Value = Me.Scelta_lista1.Value ‘Text
End Sub
Se scrivo text come parametro della combo mi da il seguente errore:
Errore di run-time ‘2185’
Impossibile fare riferimento ad una proprietà o ad un metodo per un controllo a meno che non abbia lo stato attivo.
Se invece metto Scelta_lista.value le cose vanno meglio.
Nel msg e nel campo Testo41 e Testo47 appare la scelta della combo Scelta_lista non appena viene modificato il suo valore. .
Nel campo Test47 tale valore viene cancellato/azzerato dopo il msgbox in uscita di Scelta_lista1
raul_lallo
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !