Newsgroup: it.comp.appl.access
Titolo: Critery query attraverso casella combinata in maschera

Salce a tutti. Ho letto molte discussioni riguardo i criteri ineriti da
maschera, ma nn sn riuscito a risolvere il mio problema..anzi i miei
problemi! in pratica ho creato una query collegata a più
tabelle(sensore, missione, tipo di missione) poichè uno stesso sensore
è applicato in diverse missioni che a loro volta possono esercitare
tipi diversi di missione..vabbè ma particolari a parte vorrei fare in
modo che l'utente possa scegliere attraverso una combo box il nome del
sensore e schiacciando un tasto gli appaia una maschera che gli dica il
sensore a quale missione è applicato e che tipo di missione è!
inoltre vorrei creare una maschera generale in cui s possa scegliere
più di un criterio, solo ke quando lascio in bianco un criterio access
me lo legge come valore nullo e nn mi restituisce nessun risultato! lo
so ke sn stato prolisso ma spero in un vostro aiuto!! GRAZIE

 ha scritto nel messaggio 
news:1165333086.8...@73g2000cwn.googlegroups.com...
Salce a tutti. Ho letto molte discussioni riguardo i criteri ineriti da
maschera, ma nn sn riuscito a risolvere il mio problema..anzi i miei
problemi! in pratica ho creato una query collegata a piů
tabelle(sensore, missione, tipo di missione) poichč uno stesso sensore
č applicato in diverse missioni che a loro volta possono esercitare
tipi diversi di missione..vabbč ma particolari a parte vorrei fare in
modo che l'utente possa scegliere attraverso una combo box il nome del
sensore e schiacciando un tasto gli appaia una maschera che gli dica il
sensore a quale missione č applicato e che tipo di missione č!
[risposta]
DoCmd.OpenForm "nomeForm",,,"sensore=" & me!nomeCasellaCombinata
inoltre vorrei creare una maschera generale in cui s possa scegliere
piů di un criterio, solo ke quando lascio in bianco un criterio access
me lo legge come valore nullo e nn mi restituisce nessun risultato! lo
so ke sn stato prolisso ma spero in un vostro aiuto!! GRAZIE
[risposta]
Imposta la casella combinata a "selezione semplice"; poi, tramite l'evento 
"su clic", di un bottone leggi i valori selezionati e apri la form 
filtrandola:
es.
'---
If Me!nomeCasella.ItemsSelected.Count > 0 Then
    Dim a, itemSelezionati As String
    itemSelezionati = ""
    For Each a In Me!nomeCasella.ItemsSelected
        itemSelezionati = itemSelezionati & ",'" & 
Me!nomeCasella.ItemData(a) & "'"
    Next
    docmd.openform "nomeForm",,,"sensore In (" & Mid(itemSelezionati, 2) & 
")"
Else
    MsgBox "Nessun elemento selezionato."
End If
'---
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Ciao sergio, innanzitutto grazie!solo ke io sn completamente novello su
access..quindi la tua spiegazione m risulta molto difficile da
comprendere .FACCIAMO UN PASSO ALLA VOLTA..allora  dove devo inserire
"DoCmd.OpenForm "nomeForm",,,"sensore=" & me!nomeCasellaCombinata"?
in pratica io m sn creato una maschera, ho inserito una casella
combinata  che pesca dei nomi presenti in un campo di una tabella
creata precedentemente. vorrei sapere quale "criterio" inserire nella
query per fare in modo ke legga il valore selezionato dalla combo e
filtri il tutto. ho provato con [forms]![maschera]![combobox] (dv
maschera e combobox sn i rispettivi nomi) ma la query non mi
restituisce niente o meglio una riga vuota. ke devo fare?

 ha scritto nel messaggio 
news:1165395968.0...@16g2000cwy.googlegroups.com...
Ciao sergio, innanzitutto grazie!solo ke io sn completamente novello su
access..quindi la tua spiegazione m risulta molto difficile da
comprendere .FACCIAMO UN PASSO ALLA VOLTA..allora  dove devo inserire
"DoCmd.OpenForm "nomeForm",,,"sensore=" & me!nomeCasellaCombinata"?
in pratica io m sn creato una maschera, ho inserito una casella
combinata  che pesca dei nomi presenti in un campo di una tabella
creata precedentemente. vorrei sapere quale "criterio" inserire nella
query per fare in modo ke legga il valore selezionato dalla combo e
filtri il tutto. ho provato con [forms]![maschera]![combobox] (dv
maschera e combobox sn i rispettivi nomi) ma la query non mi
restituisce niente o meglio una riga vuota. ke devo fare?
[risposta]
Allora andiamo passo passo.
Se devi selezionare più di un valore ti conviene utilizzare una casella di 
riepilogo; impostare la sua proprietà "selezione multipla" a "Semplice", la 
trovi sulla scheda "Altro".
Fatto questo crei un bottone, (es.) a fianco della casella di riepilogo, e 
ci inserisci il codice che legge i valori selezionati e apre la form 
filtrata:
'---
If Me!comboBox.ItemsSelected.Count > 0 Then
    Dim a, itemSelezionati As String
    itemSelezionati = ""
    For Each a In Me!comboBox.ItemsSelected
        itemSelezionati = itemSelezionati & ",'" & Me!comboBox.ItemData(a) & 
"'"
    Next
    docmd.openform "nomeForm",,,"sensore In (" & Mid(itemSelezionati, 2) & 
")"
Else
    MsgBox "Nessun elemento selezionato."
End If
'---
Ovviamente "nomeForm" è la tua nuova form che associata alla tabella dei 
dati dei sensori...
Ciao.
-- 
Sergio MAZZA 

no non devo scegliere più di un valore, ma uno solo tra tanti.
allora.. io ho sta casella combinata che mi dice tutti i record del
campo "nome" della tabella "piattaforma". l'utente che apre la casella
combinata si vede apparire una finestra a cascata con tutti i nomi ok?
ne sceglie uno. ora io voglio sapere NELLA CASELLA "CRITERI" DELLA
QUERY che c devo scrivere affinchè legga il particolare "nome" scelto
dall'utente? xkè una volta scelto il nome, la query deve filtrare tra
i tanti nomi e farmi apparire le informazioni presenti in altre
tabelle. Ma l'argomento principale è "cosa scrivere in "criteri".
Poi ho un'altra domanda : io ho una query con 5 campi. 2 di questi
campi li faccio filtrare attraverso la casella di testo presente in una
maschera. Succede però che uno dei tre campi abbia dei record vuoti
all'interno della tabella, quando questo succede la query non mi da il
risultato. Es: se da maschera inserisco come criterio per il nome
"pippo" la query mi dovrebbe restituire Nome, cognome(appartenenti alla
tabella NOMI), età,altezza e peso(tabella CARATT) di quelli che si
chiamano "pippo". succede xò ke a "pluto"  non è associata l'età
oppure nn sn associate età ed altezza. quindi quando scrivo "pluto "
come criterio di ricerca, la query nn mi da risultato. Quindi "CHE DEVO
SCRIVERE NELLA STRUTTURA DELLA QUERY E DOVE, per fare in modo che se
anche i campi siano vuoti me li visualizza comunque?
Lo so ke sn un rompi..... ma sta cosa m serve assolutamente e nn riesco
ad andare avanti nel lavoro! GRAZIE 1MILIONE a sergio e atuttti quelli
ke volessero o sapessero rispondermi!!

 ha scritto nel messaggio 
news:1165418392.0...@80g2000cwy.googlegroups.com...
no non devo scegliere più di un valore, ma uno solo tra tanti.
allora.. io ho sta casella combinata che mi dice tutti i record del
campo "nome" della tabella "piattaforma". l'utente che apre la casella
combinata si vede apparire una finestra a cascata con tutti i nomi ok?
[risposta]
Fin qui.
ne sceglie uno. ora io voglio sapere NELLA CASELLA "CRITERI" DELLA
QUERY che c devo scrivere affinchè legga il particolare "nome" scelto
dall'utente? xkè una volta scelto il nome, la query deve filtrare tra
i tanti nomi e farmi apparire le informazioni presenti in altre
tabelle. Ma l'argomento principale è "cosa scrivere in "criteri".
[risposta]
Se la query la devi aprire e visualizzare il risultato, inserisci nella riga 
dei criteri della colonna "nome", il nome della form (aperta) che contiene 
la casella combinata:
es.
Forms!nomeForm!nomeCasella
Poi ho un'altra domanda : io ho una query con 5 campi. 2 di questi
campi li faccio filtrare attraverso la casella di testo presente in una
maschera. Succede però che uno dei tre campi abbia dei record vuoti
all'interno della tabella, quando questo succede la query non mi da il
risultato. Es: se da maschera inserisco come criterio per il nome
"pippo" la query mi dovrebbe restituire Nome, cognome(appartenenti alla
tabella NOMI), età,altezza e peso(tabella CARATT) di quelli che si
chiamano "pippo". succede xò ke a "pluto"  non è associata l'età
oppure nn sn associate età ed altezza. quindi quando scrivo "pluto "
come criterio di ricerca, la query nn mi da risultato. Quindi "CHE DEVO
SCRIVERE NELLA STRUTTURA DELLA QUERY E DOVE, per fare in modo che se
anche i campi siano vuoti me li visualizza comunque?
[risposta]
Non scrivere in maiuscolo che equivale ad urlare e non ce né bisogno.
Quest'ultimo paragrafo è un po' confusionario; comunque mi sembra di aver 
capito che hai due tabelle Nomi e Caratt. Se vuoi vedere tutti i nomi, anche 
quelli che non hanno corrispondenze in Caratt devi impostare la relazione 
in:
"Includi tutti i record di Nomi e solo quelli di Caratt in cui campi 
collegati sono uguali".
Lo so ke sn un rompi..... ma sta cosa m serve assolutamente e nn riesco
ad andare avanti nel lavoro! GRAZIE 1MILIONE a sergio e atuttti quelli
ke volessero o sapessero rispondermi!!
[risposta]
Guarda; se fai un bel respiro e con calma descrivi meglio la situazione 
(nomi tabelle/campi, maschere/controlli etc. etc.) e cosa vorresti ottenere, 
ottieni in poco tempo una soluzione...
Ciao.
-- 
Sergio MAZZA 

Scusa sergio, il mio nn è urlare ma è voler sottolineare il punto del
mio discorso.allora ho provato ad inserire
 Forms!nomeForm!nomeCasella
naturalmente con i nomi giusti ma non va. cioè la query non mi
restituisce niente o meglio una riga vuota.
per quanto riguarda la modifica alla relazione da dove la devo fare?
dala struttura della query o da "visualizza relazione" nel pannello
principale? io ho provato a farle da entrambe ma quando la faccio da
"struttura query" mi da un errore. mi dice ke è "impossibile eseguire
l'istruzione SQL xkè contiene join esterni ambigui"

 ha scritto nel messaggio 
news:1165499804....@73g2000cwn.googlegroups.com...
Scusa sergio, il mio nn è urlare ma è voler sottolineare il punto del
mio discorso.allora ho provato ad inserire
 Forms!nomeForm!nomeCasella
naturalmente con i nomi giusti ma non va. cioè la query non mi
restituisce niente o meglio una riga vuota.
[risposta]
Hai impostato come colonna associata il campo giusto?
per quanto riguarda la modifica alla relazione da dove la devo fare?
dala struttura della query o da "visualizza relazione" nel pannello
principale? io ho provato a farle da entrambe ma quando la faccio da
"struttura query" mi da un errore. mi dice ke è "impossibile eseguire
l'istruzione SQL xkè contiene join esterni ambigui"
[risposta]
Puoi farlo agevolmente in visualizzazione struttura della query, cliccando 
col tasto destro sulla riga che indica la relazione.
Comunque il messaggio dovrebbe indicare più di una relazione tra più 
tabelle.
Come ti dicevo, dovresti descrivere meglio tutta la situazione...
Ciao.
-- 
Sergio MAZZA 

si l'ho messo nella colonna giusta.

TI POSTO LA QUERY:
SELECT Piattaforma.NomePiattaforma, Missione.NomeMissione,
Missione.ID_missione, [Tipi di missione].TipoMissione, Piattaforma.MTOW
FROM [Tipi di missione] INNER JOIN (Piattaforma INNER JOIN Missione ON
Piattaforma.IDpiattaforma = Missione.IDpiattaforma) ON [Tipi di
missione].IDTipoMissione = Missione.IDTipoMissione
WHERE (((Piattaforma.NomePiattaforma) Like "*" &
[Forms]![Maschera2]![Testo4] & "*") AND ((Missione.NomeMissione) Like
"*" & [Forms]![Maschera2]![Testo15] & "*") AND (([Tipi di
missione].TipoMissione) Like "*" & [Forms]![Maschera2]![Testo6] & "*")
AND ((Piattaforma.MTOW) Between
Nz([forms]![Maschera2]![testo19],Val(DMin("MTOW","Piattaforma"))) And
Nz([forms]![Maschera2]![testo21],Val(DMax("MTOW","Piattaforma")))));
ora nel campo NomePiattaforma della tabella piattaforma invece della
casella di testo "TESTO 4" vorrei mettere una casella combinata nella
"maschera 2" che pesca i nomi nel campo nomepiattaforma della tabella
piattaforma e interrogare la query con il nome selezionato nella
casella combinata!

 ha scritto nel messaggio 
news:1165829382.4...@80g2000cwy.googlegroups.com...

Ma questa è la query di cosa?
Ciao.
-- 
Sergio MAZZA 

è la query che vorrei interrogare attraverso la casella combiata della
maschera

 ha scritto nel messaggio 
news:1165844265.5...@n67g2000cwd.googlegroups.com...
è la query che vorrei interrogare attraverso la casella combiata della
maschera
[risposta]
Bene, e il risultato dell'interrogazione dove lo vuoi/devi vedere?
In una form? Report?
Ciao.
-- 
Sergio MAZZA 

non è importante dove lo voglio vedere ma che lo veda. posso anche
solo vedere la query tipo tabella poi come farlo vedere lo so. THNX

 ha scritto nel messaggio 
news:1166112080....@f1g2000cwa.googlegroups.com...
non è importante dove lo voglio vedere ma che lo veda. posso anche
solo vedere la query tipo tabella poi come farlo vedere lo so. THNX
[risposta]
?!?
Non è vedo che "...non è importante dove lo voglio vedere ma che lo veda."; 
cambiano le modalità.
Per esempio; crea una form (in visualizzazione foglio dati) e associagli la 
tua query, poi con un bottone - nell'evento "su clic" - ci scrivi:
DoCmd.OpenForm "nomeForm",,,"NomePiattaforma = " & chr$(34) & 
me!nomeCasellaCombinata & chr$(34)
Ti si aprirà la form associata alla query con la condizione where impostata 
già eseguita ed in più tu l'hai (ri)filtrata in base al parametro 
CondizioneWhere del metodo OpenForm (vedi help).
Questo è uno dei modi per "vedere una query"...
Ciao.
-- 
Sergio MAZZA