Sto provando a filtrare i record usando "Mi piace" con gli asterischi, funziona quando si utilizza Access 2010 restituendo molti record. Sono perplesso perché restituisce nulla se utilizzato con ADO. Il codice include più tabelle e colonne, quindi per la risoluzione dei problemi ho effettuato una query semplice. Ecco il codice:L'operatore "LIKE" funziona in MS Access, ma non ADO
strsql = "SELECT tproducts.Prod_Name FROM tproducts " _
& " WHERE tproducts.Prod_Name Like " & Chr(34) & "SO*" & Chr(34)
Set cn = New ADODB.Connection
cn = connString
cn.Open
Set rs = New ADODB.Recordset
rs.Open strsql, cn, adOpenStatic, adLockOptimistic
' test here
iRecCount = rs.RecordCount
rs.MoveFirst
Il conteggio dei record -1.
Quando "Mi piace" è sostituito da "uguale a" restituisce record corretto, quindi sono sicuro che è in grado di connettersi al database, ad esempio:
strsql = "SELECT tproducts.Prod_Name FROM tproducts " _
& " WHERE tproducts.Prod_Name = " & Chr(34) & "SONY Vaio SVD13213CXB" & Chr(34)
C'è un modo speciale di usare il come operatore in ADO?
Quali altri modi posso filtrare per dare risultati uguali all'utilizzo di "Mi piace"? Ad esempio, per trovare tutti i prodotti "SVD"?
Sì, ho usato asterisco jolly. Un tempo era connesso a un database Mysql e utilizza%, tuttavia% non restituisce nulla in MS Access. Ho testato le dichiarazioni direttamente su MS Access. – Ponytell
Si sta utilizzando ADO, in modo che sia%, non * Se si sta lavorando con ACE/Jet, è molto più efficiente utilizzare DAO. – Fionnuala
La query viene appena passata tramite ADO al motore di accesso (motore JET). ADO non analizza la query stessa. – Zippit