PDA

View Full Version : Ado e operatore Like....


Ronder17
25-07-2003, 03:17
Ciao ragazzi il mio problema è questo!

Utilizzo Vb6 con un database in access 2000

Devo fare una query che mi recupera tutti i record che iniziano per il valore che ho in un controllo textbox ma mi succede che dopo il metodo open del recordset, il set mi rimane vuoto praticamete non trova record.
La stessa query la porto in Access e funziona :muro:

La sintassi che ho adoperato è questa:

Sql= "Select * From Tabella Where Campo like "' & textbox.text & "*'"

Rst.open Sql, Connection1,acopenstatic,optimistic


Ho provato a cambiargli sintassi ma non ne vuole sapere col like non trova mai record, che strano!

Chi mi saprebbe dare una risposta a tutto questo?
Grazie

disumano
25-07-2003, 12:19
con access devi usare il + al posto del &.
quindi il comando per selezionare i record contenenti la stringa voluta sarà:
Select * From Tabella Where Campo like '*' + textbox.text + '*'
ciao

matpez
25-07-2003, 16:19
Originariamente inviato da disumano
con access devi usare il + al posto del &.
quindi il comando per selezionare i record contenenti la stringa voluta sarà:
Select * From Tabella Where Campo like '*' + textbox.text + '*'
ciao


:confused: :confused:

Ma se lui passa una stringa banale da VB che si chiama Sql quando passa da li vedrà la stringa con il valore della textbox !!

matpez
25-07-2003, 16:34
Prova ad utilizzare sta connessione:

http://forum.hwupgrade.it/showthread.php?s=&threadid=481459

disumano
25-07-2003, 18:08
hai ragione, mi sono confuso perché ultimamente ho avuto parecchio a che fare con la questione del + in access... .:p

cmq la stringa deve essere scritta così:
sql = "select * from tabella where campo like '" & sql & "' + '%'"

in pratica devi usare il % al posto del * ;)

matpez
25-07-2003, 18:38
A me ha sempre preso bene il * :)

l'% lo utilizzo in ASP, magari una una connessione obsoleta che nn supporta il *

disumano
25-07-2003, 22:56
io ho provato con vb6 (connessione ado con jet4.0) e accetta solo %, con * non funge...

matpez
26-07-2003, 12:56
Io ho questa: DRIVER=Microsoft Access Driver (*.mdb); ect ect

Aggionrata con l'MDAC 2.7 SP2

cionci
26-07-2003, 17:30
matpez: comunque la connessione migliore è quella tramite oledb... Quella che usi te utilizza il driver ODBC che è lento assassinato...

Ronder17
02-08-2003, 12:23
Originariamente inviato da disumano
hai ragione, mi sono confuso perché ultimamente ho avuto parecchio a che fare con la questione del + in access... .:p

cmq la stringa deve essere scritta così:
sql = "select * from tabella where campo like '" & sql & "' + '%'"

in pratica devi usare il % al posto del * ;)

Grazie
;)

Si oledb è molto meglio ciao...