Newsgroup: it.comp.appl.access
Titolo: query con campi aventi record vuoti

Ari-salve a tutti!! ho un piccolo probl sempre con la query( benedetto
e maledetto ki l'ha inventata)!! in pratica nella query ho due campi
appartenenti ad una tabella e due campi appartenenti ad altre due
tabelle, cioè : NomeS,TipoS (tabella sensore); NomeM(tabella
Missione); TipoM (tabella TipiDiMissione). i campi NomeS e TipoS sono
filtrati attraverso due caselle presenti in una maschera (Maschera1),
mi succede che quando filtro con i criteri la query non mi visualizza i
record dove NomeM e TipoM sono vuoti. Le tabelle "sensore", "missione"
e "tipodimissione" sono collegate in questo modo:
"sensore">> "system-sensor">> "sistema">> "missione">>
"tipodimissione".
cosa devo scrivere nei criteri dei campi NomeM e TipoM affinchè
vengano visuallizzati anke se sono vuoti?vi ringrazio anticipatamente!!

 ha scritto nel messaggio
news:1165498889.1...@79g2000cws.googlegroups.com...



forse ti potrà essere d'aiuto l'esempio di karl n.
3.14 Criterio che restituirà tutti i record
www.donkarl.com/it

già visto ma niente...non va!

 vengano visuallizzati anke se sono vuoti?vi ringrazio anticipatamente!!
ho provato a ricostruire la tua situazione, ma dalle tue informazioni non
riesco a capire come sono relazionate le tabelle.
soprattutto non è chiaro che operatore and o or tu stia utilizzando.
vuoi mandarmi il file? e la query incriminata? poi se troviamo la soluzione
lo spieghiamo in questo thread.
su libero con il mio nick
M


Posto l' SQL della query:
SELECT Sensore.Nome, Sensore.Produttore, Sensore.Sensore,
Sensore.Weight, Missione.NomeMissione, [Tipi di missione].TipoMissione
FROM [Tipi di missione] INNER JOIN (Missione INNER JOIN (Sistema INNER
JOIN (Sensore INNER JOIN [System-Sensor] ON Sensore.IDsensore =
[System-Sensor].IDsensore) ON Sistema.IDsystem =
[System-Sensor].IDsystem) ON Missione.IDsystem = Sistema.IDsystem) ON
[Tipi di missione].IDTipoMissione = Missione.IDTipoMissione
WHERE (((Sensore.Nome) Like "*" & [forms]![Maschera2]![testo0] & "*")
AND ((Sensore.Sensore) Like "*" & [forms]![Maschera2]![testo17] & "*"))
OR (((Sensore.Nome) Like "*" & [forms]![Maschera2]![testo0] & "*") AND
(([forms]![Maschera2]![testo17]) Is Null))
ORDER BY Sensore.Nome;
come vedi la situazione è più complessa, in quanto le tabelle
collegate sono 5( sensore>system-sensor> sistema>
missione>tipomissione). in pratica con la query pesco un nome dalla
tabella sensore( ad es. Pippo) nel campo "nomesensore" che è collegato
alla missione ( poichè un determinato velivolo di missione può
montare quel sensore) ma può succedere che il sensore non è stato
montato su nessuna missione, quindi il record collegato nella tabella
missione (e quindi anche tipo missione) è vuoto. Pe cui quando con 1
maschera vado ad interrogare la query con il nome pippo, non mi
restituisce niente. Io vorrei che mi restituisca "pippo" nel campo
sensore, e il campo missione e tipo di missione sia vuoto.
PS: a proposito di maschera , io per interrogare la query ho inserito
una casella di testo. se volessi inserire una combo-box che pesca i
nomi dalla tabella sensore, che devo inserire in "CRITERI" della query?
ho già provato con:
 forms!Maschera2!casellacombinata0 
ma non va..
grazie a tutti!!!

 ha scritto nel messaggio
news:1165829144....@79g2000cws.googlegroups.com...




 forms!Maschera2!casellacombinata0
ma non va..
grazie a tutti!!!
Sicuro che non sia un problema di relazioni? Come le hai impostate ?
Dovresti vedere se ti servono tutti i record che hanno chiavi collegate in
comune, oppure solo quelli da un lato molti o da lato tutti. Da li puoi
avere spunti per ottenere quanto cerchi.
Costruisci la query pian piano, prima due tabelle poi aggiungi le altre a
mano a mano che ottieni risultati positivi. 5 tabelle linkate, se le
relazioni non sono messe bene, è un bel casino.
Inoltre mi vien da dire che se tu fai una query cercando un dato che
potrebbe mancare (ossia non ha dati corrispondenti nella tabella a cui è
relazionato), e pippo mi par di capire non ci sia, stai facendo una c.d.
query a campi non corrispondenti. Se ho ben capito tu vuoi sapere quali sono
i sensori che non sono stati installati su nessuna missione. Prova a vedere
nelle creazioni guidate delle query la query a campi non corrispondenti se
fanno al caso tuo.
sempre più difficile ...
;-)