PESQUISA STRING
Tente isso:
SqlTexto = "SELECT Numero,Nome FROM Dados WHERE Numero Like '" & Left(Trim(TxtMat1.Text,4)) & "*'"
Set TB = BDLista.Execute(SqlTexto)
SqlTexto = "SELECT Numero,Nome FROM Dados WHERE Numero Like '" & Left(Trim(TxtMat1.Text,4)) & "*'"
Set TB = BDLista.Execute(SqlTexto)
Veja bem no banco esta ex: 1615.1, quero digitar no TxtMat1.Text somente 1615 e buscar o cara. Os 4 primeiros digitos não se repetem no banco.
Biodiesel deu erro:
(Numero de argumentos incorretos ou atribuição de propriedade invalida)
(Numero de argumentos incorretos ou atribuição de propriedade invalida)
Tente assim. é com o like que você chegará a um resultado. Porém como não gosto de usar Like, não sei a grafia está correta. Se não for com asterisco (*), tente com % no lugar. Outra coisa: cada banco de dados trabalha o Like de um jeito.
SqlTexto = "SELECT Numero, Nome FROM Dados WHERE Numero Like '" & TxtMat1.Text & "*'"
Set TB = BDLista.Execute(SqlTexto)
SqlTexto = "SELECT Numero, Nome FROM Dados WHERE Numero Like '" & TxtMat1.Text & "*'"
Set TB = BDLista.Execute(SqlTexto)
pq se tiver no banco de dados com a virgula tenta isso
SqlTexto = "SELECT Numero,Nome FROM Dados WHERE Numero LIKE 'Left(Trim(TxtMat1.Text), 4)'"
Set TB = BDLista.Execute(SqlTexto)
SqlTexto = "SELECT Numero,Nome FROM Dados WHERE Numero LIKE 'Left(Trim(TxtMat1.Text), 4)'"
Set TB = BDLista.Execute(SqlTexto)
Bom, então tente direto na instrução sql:
Access
SqlTexto = "SELECT Numero,Nome FROM Dados WHERE Mid(Numero,1,4) = '" & Trim(TxtMat1.Text) & "'"
Set TB = BDLista.Execute(SqlTexto)
ou
SQL Server
SqlTexto = "SELECT Numero,Nome FROM Dados WHERE Substring(Numero,1,4) = '" & Trim(TxtMat1.Text) & "'"
Set TB = BDLista.Execute(SqlTexto)
Access
SqlTexto = "SELECT Numero,Nome FROM Dados WHERE Mid(Numero,1,4) = '" & Trim(TxtMat1.Text) & "'"
Set TB = BDLista.Execute(SqlTexto)
ou
SQL Server
SqlTexto = "SELECT Numero,Nome FROM Dados WHERE Substring(Numero,1,4) = '" & Trim(TxtMat1.Text) & "'"
Set TB = BDLista.Execute(SqlTexto)
Veja como funciona o like (extraÃÂÂdo de uma resposta do nosso amigo HUGOSSOUZA):
like é oq vc gostaria que encontrasse naquele campo com aquela condição
ex:
campo like '%" condicao "%' 'a condição que você passou ele vai procurar em todo o campo
campo like '" condicao "%' 'vai procurar tudo que começa a condição
campo like '%" condicao "' 'vai pesquisar tudo que termina com a condição
no vb6 em access com conexao ADO vc usa '%' agora com conexao DAO usa '*'.
na maioria dos outros bancos é '%'
ex:
"tabela1"
jose da silva
augusto jose
maria jose silva
select * from tabela1 where nome like 'jose%'
resultado = 'jose da silva'
select * from tabela1 where nome like '%jose%'
resultado =
'jose da silva'
'augusto jose'
'maria jose silva'
select * from tabela1 where nome like '%jose'
resultado = 'augusto jose'
like é oq vc gostaria que encontrasse naquele campo com aquela condição
ex:
campo like '%" condicao "%' 'a condição que você passou ele vai procurar em todo o campo
campo like '" condicao "%' 'vai procurar tudo que começa a condição
campo like '%" condicao "' 'vai pesquisar tudo que termina com a condição
no vb6 em access com conexao ADO vc usa '%' agora com conexao DAO usa '*'.
na maioria dos outros bancos é '%'
ex:
"tabela1"
jose da silva
augusto jose
maria jose silva
select * from tabela1 where nome like 'jose%'
resultado = 'jose da silva'
select * from tabela1 where nome like '%jose%'
resultado =
'jose da silva'
'augusto jose'
'maria jose silva'
select * from tabela1 where nome like '%jose'
resultado = 'augusto jose'
Testei aqui no Access e funcionou, a instrução direto na sql...rs
Access
SqlTexto = "SELECT Numero,Nome FROM Dados WHERE Mid(Numero,1,4) = '" & Trim(TxtMat1.Text) & "'"
Set TB = BDLista.Execute(SqlTexto)
Access
SqlTexto = "SELECT Numero,Nome FROM Dados WHERE Mid(Numero,1,4) = '" & Trim(TxtMat1.Text) & "'"
Set TB = BDLista.Execute(SqlTexto)
Piolho, sua ultima sugestão deu certo. Grato.
Tópico encerrado , respostas não são mais permitidas