Newsgroup: it.comp.appl.access
Titolo: Ricerche in più campi

Ciao a tutti.
Problemino:
Come far ricerche  in più campi avendo inserito un solo parametro in un
campo?
Mi spiego meglio:
In una tabella ci sono tre campi 'data' (data ordine, data consegna e data
fattura)
Con la query voglio selezionare solo record che abbiano una di queste tre
date corrispondente ad un criterio inserito una volta sola.
Spero di essere stato chiaro
Saluti e grazie a chi saprà aiutarmi.

 ha scritto nel messaggio
news:8oel2j$k3$1...@news.mclink.it...

Non particolarmente per la verita' :-)
Comunque fa conto che siano tre criteri distinti, come faresti?
Metteresti ognuno dei criteri nei "Criteri" di ciascun campo sfruttando
l'opzione OR (Cioe' mettendoli su righe distinte)
Spero di essere stato chiaro io.
Ciao, Sib.

(.....)
Per convenzione, Access lega con l'operatore logico AND i criteri che
in una query si trovano sulla medesima riga, mentre lega con
l'operatore logico OR i criteri che si trovano su righe differenti.
Quindi:
se vuoi selezionare i record che abbiano almeno una delle tre date
uguale a quella impostata ([Dataordine] = ... OR [Dataconsegna] = ....
OR [Datafattura] = ....) metti l'espressione
[Forms]![TuaForm]![TuoControllo] or [Forms]![TuaForm]![TuoControllo]
Is Null
in corrispondenza della prima data nella riga "Criteri"
in corrispondenza della seconda data nella prima riga "Oppure"
in corrispondenza della terza data nella riga subito sotto a "Oppure"
Se invece vuoi selezionare i record che abbiano tutte e tre le date
uguali a quella impostata ([Dataordine] = ... AND [Dataconsegna] =
... AND [Datafattura] = ....) metti l'espressione
[Forms]![TuaForm]![TuoControllo] or [Forms]![TuaForm]![TuoControllo]
Is Null
 
nella riga "Criteri" in corrispondenza di ciascuna data 
Vincenzo Turturro
----------------------------------
Se no diventiamo tutti Ilbi dai portatili o peggio ancora 
provetti poeti fiorentini come vturturro.
(
ivan....@tiscalinet.it
 Ven 25 Aug 2000 09:34:52 +0200)

Ringrazio per le risposte, ma devo chiarirvi la mia richiesta
L'inserimento della data per la selezione lo devo fare da un finestra di
dialogo che compare da una maschera.
Ora questa finestra compare tre volte e per tre volte devo inserire la
stessa data perchè devo selezionare dei record che abbiano almeno uno
dei valori nei tre campi 'data' uguale a quella inserita per la ricerca.
Ciò accade perchè nella query usata dalla maschera, nei criteri di
'data ordine, data consegna e data fattura' - usando la riga di Oppure -
ho inserito letteralmente
[Data ordine], [Data consegna ] e [Data fattura],
e regolarmente aprendo la maschera mi compaiono le tre richieste.
Io vorrei evitarmi di inserire tre volte gli stessi dati
Saluti a tutti
Franco

 [Data ordine], [Data consegna ] e [Data fattura],
Scusa, se cio' accade per questo e' ovvio che devi dare lo stesso nome a
tutti e tre i parametri. Tu vuoi avere un parametro, non tre.
Sib


Grazie Sib finalmente ho capito.
Ho inserito [data invio] in tutti e tre i criteri delle date ed ho risolto
tutto. Non ci avevo provato prima perchč ero convinto che mi avrebbe
formulato lo stesso le tre domande.
Ora perň mi č nato un nuovo problema.
Nella stessa query al campo [Nome Cliente] nei criteri ho inserito Like
[Nome CLIENTE] & "*"
ma dopo l'inserimento del nome cliente mi vengono si selezionati tutti i
record corrispondenti alla data inserita ma di tutti i clienti. Anche con
Like [Nome CLIENTE] e inserendo quindi il nome esatto del cliente accade
come sopra.
Perchč?
Ciao
Franco

 ha scritto nel messaggio
news:8ojnar$pbk$1...@news.mclink.it...

Perche' L'istruzione Like e' relazionata con l'operatore AND con i criteri
sulla stessa riga e con l'operatore OR con i criteri sulle altre righe.
Probabilmente l'istruzione Like l'hai inserita su una sola riga, per cui e'
come se tu avessi scritto:
((Nome Like ...) And (Data1=Data)) OR Data2=Data Or Data3=Data
Per cui ti pesca tutti i record dove corrisponde Data2 e data3 senza
applicare l'operatore Like al nome.
Soluzione:
Riporta l'operatore Like tale e quale su tutte e tre le righe.
Ciao, Sib


Grazie Sib, tutto OK
A buon rendere, Ciao
Franco