SQL - Usando caracteres especiais como curingas : DAO x ADO.
Quando você cria uma consulta SQL usando a cláusula LIKE existem algumas diferenças na sintaxe entre a ADO e DAO. Vejamos as diferenças básicas em uma consulta hipotética sobre uma tabela clientes.
com DAO:
Dim db As DAO.Database Dim rs As Recordset Private Sub Form_Load() Set db = OpenDatabase("SEU.MDB") Set rs = db.OpenRecordset( "select * from clientes where nome LIKE 'J*'") ' Para filtrar somente um caractere use '?' Ex: 'J?S' End Sub |
agora a mesma consulta com ADO:
With ADO connection:
Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim sql1 As String Private Sub Form_Load() sql1 = "select * from clientes where nome LIKE 'J%'" ' Para filtrar somente um caractere use '_' Ex: 'J_S' cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=Seu.mdb;" rs.CursorLocation = adUseClient rs.Open sql1, cn, adOpenForwardOnly, adLockReadOnly End Sub
|
Resumindo:
DAO | ADO |
Caractere (*) | equivalente (%) |
Caractere (?) | equivalente (_) |
Só para lembrar ... Até breve !!!