Newsgroup: it.comp.appl.access
Titolo: criteri in query su campo testo

Attraverso una query desidererei trovare i record che in un campo testo 
hanno es "ind (5)" o "ind (5+)" .
E' possibile ?
grazie 

 ha scritto nel messaggio 
news:44c28093$0$32140$4faf...@reader1.news.tin.it...

Se usi il generatore automatico di query devi inserire le due stringhe 
cercate neaa zona criteri, una sotto l'altra per indicare OR.
Se la stringa NON č precisamente quella che hai scritto, ma puň essere 
CONTENUTA all'interno di una descrizione piů lunga allora devi usare i 
caratteri jolly : * (asterisco) o ? (punto interrogativo).
nel tuo caso scriverai : "*ind (5)*"  e nella riga sotto "*ind (5+)*"
qui non ho usato il ? (punto interrogativo) perchč non ce ne č bisogno.
Se invece vuoi dare un'occhiata alla sintassi giusta per scrivere la query 
allora la componi come sopra e poi dal menu scegli visualizza SQL e cosě 
puoi anche imparare la sequenza sql per ottenere quanto sopra. Questo ti puň 
servire se devi costruire la query in VBA.
IvanDaBologna 


Io avevo provato con like, ma con entrambi non funziona.
naturalmente non capisco perchč.
il campo č un campo testo
alcuni record iniziano con "ind" spazio "(5)" solitamente seguiti da altro 
testo.
altri con "ind" spazio "(5+)" testo
altri con "ind" spazio "(0)" testo
etc
per curiositŕ ho provato con il testo completo e funziona ma trova un record 
solo come č logico che sia.
es "ind (5) test"
non riesco a capire qual'č il problema, se non che * non serve per trovare 
tutti i record con una parte simile, la precedente.
grazie 

 grazie
forse è il modo in cui scrivere il tutto che non ti è chiaro (o per lo meno 
io vedo solo questo spiraglio)-
I criteri di Testo vanno scritti tra apici doppi SEMPRE, sopratutto se usi i 
caratteri jolly.
l'asterisco sostituisce qualsiasi numero di caratteri dal lato in cui lo 
poni. Quindi "ARR*" trova ARROSTO, ARRUBA, ARRIVO ...mentre "*ISSIMO" ti 
restituisce BELLISSIMO (io!), STUPIDISSIMO (io!), ATTESISSIMO ......
e per finire "*ORA*" restituisce HORAT, LAVORATORI, CORAGGIO, AUTOSEGADORA 
....
invece il punto di domanda ? sostituisce un solo carattere (qualsiasi) in 
quella posizione...
"VE?O" restituisce VELO,VERO,VETO .....
In VBA, quando costruisci una query solitamente puoi sostituire i doppi 
apici con un apice solo : l'apostrofo.
Io uso questo metodo al posto di inserire i CHR(34) che inserirebbero il 
doppio apice.
Ti faccio un esempio
......
    sSQL = "SELECT DITTA FROM [DITTE] WHERE [DITTA] LIKE '" &  cerco & "*'"
in questa riga : cerco è una variabile stringa (prelevata da una casella di 
testo), non si notano molto ma dopo il LIKE e dopo l'asterisco c'è un apice 
(').
La variabile sSQL  la passo come RecordSource di qualcosa ... per cercare 
una DITTA che inizia per cerco!
IvanDaBologna


Comunque a furia di provare ed interpretare la guida (è in inglese) con * 
non funziona e non restituisce nessun record.
Funziona solo :
da Design View
sostituisce Like con ALike e devo mettere % al posto di * es ALike "ind 
(5)%" Or ALike "ind (5+)%"
SQL
WHERE (((miocampo) ALike "ind (5)%" Or (miocampo) ALike "ind (5+)%"));
Che tu sappia, da sicuro più esperto di me, c'è un motivo ? dipende dal db 
ANSI?
ciao
grazie 

 ANSI?
dipende, se hai selezionato l'opzione :
----
Strumenti-->Opzioni--> Scheda Tabelle Query-->Sintassi Compatibile Sql
Server (ANSI 92)
----
allora devi usare il carattere jolly % altrimenti bisogna usare *
Ciao
-- 
Giorgio Rancati
[Office Access MVP]


ecco il busillis !!
nemmeno io ero a conoscenza di questa binomietà dei caratteri jolly, però 
nelle query di Excel (quando usi Microsoft Query) il carattere % come jolly 
è obbligatorio, adirittura l'interfaccia ti traduce il Like con simile_a !!!
'ottimo.