eu uso assim
Private Sub MontarLista()
Dim RS As New ADODB.Recordset
Dim SQL As String
Dim Criterio As String
FG1.TextMatrix(0, 0) = "ClienteID"
FG1.TextMatrix(0, 1) = "N° Telefone"
FG1.TextMatrix(0, 2) = "Nome do Cliente"
Criterio = Chr$(39) & txtPesquisa & "%" & Chr(39)
SQL = "SELECT ClienteID, Fone, Nome FROM CadClientes WHERE CadClientes.Nome Like " & Criterio & " ORDER BY Nome"
On Error Resume Next
With RS
.Open SQL, CnSql, adOpenForwardOnly, adLockReadOnly
If .EOF Then
MsgBox "Cliente não encontrado !", vbExclamation, " Sisnews Informções"
Limpa
FG1.TextMatrix(1, 0) = ""
FG1.TextMatrix(1, 1) = ""
FG1.TextMatrix(1, 2) = ""
Else
Limpa
Do Until .EOF
FG1.AddItem RS(0) & vbTab & RS(1) & vbTab & RS(2)
.MoveNext
Loop
FG1.RemoveItem 1
End If
.Close
End With
End Sub