Newsgroup: it.comp.appl.access
Titolo: Parametri query in vba.

Ciao a tutti,
non ricordo le corrispondenze dei caratteri speciali
se utilizzati da codice all'interno di query.
Devo tramite query passata da codice aprire un recordset in cui
siano esclusi tutti i recordo il cui campo cod inizia per %.
"select * from tabella1 where ((([cod]) not like '..... che cosa metto qui??
Ricordo che * diventa %, ? diventa _ ma % cosa diventa?
Ciao e grazie
________________________________________
David Sky

 Ricordo che * diventa %, ? diventa _ ma % cosa diventa?
Sul serio sai questo?
io per l'asterisco metto * e per il punto interrogativo metto ? però li
metto tra doppi apici
"not like ""*prova"""
per il % sarà la stessa cosa..
Antonio

 ha scritto nel messaggio
news:SvLZa.237107$Ny5.7...@twister2.libero.it...

Ho provato ma non funziona..... io passo una stringa tramite ado
per cui gli api che uso sono tipo questo '  ho provato con una stringa del
tipo
"select * from tabella1 where ((([cod]) not like ''%*''));" ma non funziona
da un errore di runtime.
Se invece scrivo "select * from tabella1 where ((([cod]) not like ''%''));"
lui interpreta % come fosse * e allora mi mostra solo gli articoli con
codice nullo
come posso trasformare %*????
Dimenticavo uso access 2000!

 Dimenticavo uso access 2000!
Con JET si usa "*" mentre con ADO "%".
Quindi per includere tutti i dati:
"select * from tabella1 where ([cod] like '*');" per DAO(jet)
"select * from tabella1 where ([cod] like '%');" per ADO(DB_SQL)
Quello che usi tu con NOT LIKE non lo capisco proprio perň....
vuoi selezionare tutti i [cod] diversi da "*"....????
Questo ti restituisce un Recordset Vuoto.
Bah........
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Dimenticavo uso access 2000!
Prova col corrispondente chr() per %
Antonio


Questo funziona con DAO:
Public Function MiaQuery()
Dim MiaSql As String, MioValore As String, RCS As Recordset
MioValore = "%*"
MiaSql = "SELECT Tabella1.* FROM Tabella1 WHERE (((Tabella1.Cod) Not Like "
& """" & MioValore & """" & "));"
Set RCS = CurrentDb.OpenRecordset(MiaSql)
RCS.MoveLast
RCS.MoveFirst
MsgBox RCS.RecordCount
End Function
Ciao, Carlo


Grazie ma forse mi sono spiegato male.
Quello che cerco di fare io è di creare un recordset che esclusa tutti i
record in cui il campo cod inizi per %,
avevo usato '%*' ....ma......non funziona, so che * diventa % ma % come lo
posso inserire?
Come posso fare questo con ADO o dove trovo qualche info sulla
corrispondenza tra ADO  e JET?
Ciao e grazie

 Ciao e grazie
Essendo "%" un carattere speciale, io vedrei bene una QRY
UPDATE in cui sostituisci il carattere "%" con un carattere
normale.
Da quě credo tu possa incontrare meno problemi di sintassi.
L'alternativa č di usare invece che il carattere il suo codice
Chr(..) equivalente all'interno della sintassi:
[cod] NOT LIKE '" & chr(...) & "%'"
Ciao.


 ha scritto nel messaggio
news:FnLZa.237092$Ny5.7...@twister2.libero.it...

Ciao David
Se vuoi utilizzare un carattere jolli come valore letterale devi
racchiuderlo tra []
select * from tabella1 where ((([cod]) not like '[%]%'
Ciao Giorgio

 ha scritto nel messaggio
news:bh8cig$qpg$1...@lacerta.tiscalinet.it...

Ok provo cosě e vediamo se funziona.
Ho provato con chr() ma non funziona, molto probabilmente
perchč l'interprete di ADO non č puro SQL al 100% per cui certe
istruzione vengono tradotte.
Ciao e Grazie