Newsgroup: it.comp.appl.access
Titolo: Eludere valore di data null

Buongiorno a tutti.
Vado immediatamente a esporre la mia problematica:
Due tabelle -A e B
La tabella A ha un legame con B da dove estraggo un paio di valori,(un id e
una data)
Una costruito una maschera di raccolta dati attraverso la quale mi faccio
indicare da che data a che data estrarre i dati oltre che ad un'altra serie
di criteri di ricerca.
Ora, dato che non necessariamente tutti i record della tabella A hanno dei
valori in B nella query per quei record che non hanno corrispondenza in B la
data si presenta con valore vuoto e a questo punto la mia query mi estrae
solo i record con data non nulla.
Ecco il problema è questo: come posso eludere la data vuota e farmi estrarre
tutti i dati che oltre a rispondere ai criteri sicuramente validi, NON hanno
corrispondenza nell'altra tabella in termini di data, ma che voglio far
comparire lo stesso?
Sperando di essere stato sufficiente chiaro -spero tanto da farmi capire :-)
- vi ringrazio anticipatamente
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 comparire lo stesso?
Invece di restituire il valore del campo di B (che puň non esistere)
restituisci un campo calcolato fatto per esempio cosě
nz(dataB;[forms]![tuaform]![datafinoa])
Antonio


devi modificare le proprietà del join tra le due tabelle (tasto dx
sulla relazione oppure dal menù visualizza "proprietà join" ) e
selezionare "includi tutti i record dalla tabella A e solo i record
della tabella B in cui i campi collegati sono uguali"
se non ho centrato il problema, spero ti possa essere utile almeno per
iniziare a risolverlo
buon lavoro, bye

 ha scritto nel messaggio
news:1172577494.7...@8g2000cwh.googlegroups.com...



significa che quei record già li prende ma poi il filtro sulla maschera
glieli scarta
se non ho centrato il problema, spero ti possa essere utile almeno per
diciamo che premiamo la buona volontà...
Antonio

 - Mostra testo tra virgolette -
Giusto. Effettivamente dopo aver letto la soluzione di Antonio ho
capito di non aver centrato la domanda.
bye


Confermo...entrambe! In effetti la mia query già aveva il join diciamo per
tutti i valori di A...cmq provo subito con l'nz...
Grazie a entrambe! ;-)



Chiedo scusa se mi ..."allargo", ma se nel campo di ricerca avessi messo
dadata - adata e il campo della tabella B fosse uno solo?
In pratica ho degli elementi in A che Potrebbe avere dei riferimenti nella
tabella B da una certa data a una certa data...replico quanto in nz?


 Grazie a entrambe! ;-)
Entrambe?!?!
Aspč, vado in bagno...
...
...
no no, tutto a posto, fiuuuu
Antonio

 tabella B da una certa data a una certa data...replico quanto in nz?
non ho capito
Antonio


Diciamo cosě:
Tabella A = tabella degli articoli
Tabella B=tabella degli ordini
Maschera di Ricerca:
Da codice articolo - a codice articolo
Da data ordine/a data ordine
Pulsante Cerca>Apro maschera contenente i risultato con recordsource una
query
Il risultato a cui-per il momento-anelo e che voglio far apparire la lista
di tutti gli articoli anche se non hanno un ordine corrispondente (dato che
alcuni articoli possono avere un ordine,altri no) ma che se metto un limite
di da data/a data ordine mi appaiono solo quelli.
Spero di aver chiarito un po di piů la questione...
Grazie ancora per l'attenzione


 ha scritto nel messaggio
news:62Z101Z95Z202Y...@usenet.libero.it...

Sě, ma non č quello che avevi detto prima.
Prima dicevi che anche se c'era un controllo sulla data, ti venissero dati
comunque gli articoli senza ordine (cosa che tra l'altro secondo me era
sbagliata).
Adesso giustamente dici:
se non metto data, dammeli tutti, se metto data dammi solo quelli con ordini
e dentro quella data
A questo punto hai due strade:
o cambi la query a seconda se devi controllare la data o no, o ne fai una
che gestisca tutte e due i casi possibili.
se sei in grado di cambiare la query č secondo me la strada piů semplice.
Una query senza filtri sulla data, l'altra con un between ... and sotto la
data.
Se non riesci affrontiamo l'altro caso
Antonio

 - Mostra testo tra virgolette -
Modificando i join e con la soluzione iniziale di Antonio (l'uso della
funzione Nz) risolvi già tutto: personalmente invece che attribuire il
valore "[forms]![tuaform]![datafinoa]" inserirei un valore fasullo di
riferimento (tipo #01/01/1900#) perchè altrimenti quelli vuoti
cadrebbero nella selezione.
Quindi penserei a come impostare il between del criterio data nella
maschera.
I controlli data sulla maschera li raddoppierei: due controlli
visibili (data_da e data_a) dove l'utente inserisce l'intervallo di
ricerca e due nascosti utilizzati nella query (fltdata_da e fltdata_a)
Se il controllo data_da è null allora fltdata_da =#01/01/1900#
altrimenti fltdata_da=data_da
Se il controllo data_a è null allora fltdata_a =#01/01/2100#
altrimenti fltdata_a=data_a
Nella query nel criterio imposti between forms![maschera].fltdata_da
And forms![maschera].fltdata_a
buon lavoro





Ehi, questa era l'altra soluzione!!!
Meno male, non c'avevo voglia di affrontarla, se non avrebbe usato la prima
soluzione...
Antonio

 ha scritto nel messaggionews:1172595926....@a75g2000cwd.googlegroups.com...

:D

 soluzione...
Mamma mia!!!
Che vergogna!!!
Sto per decollare...
Faccio come Umberto Eco nella parodia di Fiorello...
Che vergogna...
Antonio


Beh,insomma...era per dire....un per la competenza, l'altro per il
suggerimento....Io ringrazio sempre tutti,anche solo per il gesto :-)


 suggerimento....Io ringrazio sempre tutti,anche solo per il gesto :-)
ma tu hai ringraziato tutte, mica tutti...
Sigh
Gnaaaaposso fa...
Antonio


Ops...c'hai ragggione...
In ogni caso...rimani in zona che adesso devo riprendere il discorso di ieri
sulla questione...;-D



Funziona tt a meravilgia!
Grazie a entrambI !
Andrea


 Andrea
Però Andrea, per un messaggio di ringraziamento (prego) avresti potuto
sfoltire qualcosa...
Antonio