PROBLEMAS COM CONSULTA
Amigos estou com um ploblema que não consigo dar solução estou fazedo uma pesquisa no Public Sub mostrardados() se o numero do txtgrupo for 001 ele mostra todos 001 no db grid mais não esta dano certo ,e só falta basicamento isso e o ralatorio pra acabar ....
o meu codigo esta assim
Public Sub mostrardados ()
If txtgrupo.Text "" Then
Data3.RecordSource = "Select * from Dados where Grupo= " & CLng(txtgrupo.Text)
Data3.Refresh
end if
end sub
ele da o seguinte erro
Data type mismatch in criteria expression
Obrigado desde já
o meu codigo esta assim
Public Sub mostrardados ()
If txtgrupo.Text "" Then
Data3.RecordSource = "Select * from Dados where Grupo= " & CLng(txtgrupo.Text)
Data3.Refresh
end if
end sub
ele da o seguinte erro
Data type mismatch in criteria expression
Obrigado desde já
Caro Propar:
Você não pode concatenar uma variavel Clng (numerica) com um string (alfanumérico).
Tente:
Data3.RecordSource = "Select * from Dados where Grupo = ' " & trim(str((txtgrupo.Text)) & " ' "
Obs. coloquei espaços antes/depois dos apostrofes ('), só pra visualizar, mas não tem.
Você não pode concatenar uma variavel Clng (numerica) com um string (alfanumérico).
Tente:
Data3.RecordSource = "Select * from Dados where Grupo = ' " & trim(str((txtgrupo.Text)) & " ' "
Obs. coloquei espaços antes/depois dos apostrofes ('), só pra visualizar, mas não tem.
Propar:
Tem um parenteses à  mais:
Data3.RecordSource = "Select * from Dados where Grupo = ' " & trim(str(txtgrupo.Text)) & " ' "
Tem um parenteses à  mais:
Data3.RecordSource = "Select * from Dados where Grupo = ' " & trim(str(txtgrupo.Text)) & " ' "
Propar:
Voce verificou o RecordCount ? Pode ser que não tenha nada no banco com a pesquisa que vc fez.
Se o campo na tabela for numérico, retire os apóstrofes:
Data3.RecordSource = "Select * from Dados where Grupo = " & trim(str(txtgrupo.Text))
Voce verificou o RecordCount ? Pode ser que não tenha nada no banco com a pesquisa que vc fez.
Se o campo na tabela for numérico, retire os apóstrofes:
Data3.RecordSource = "Select * from Dados where Grupo = " & trim(str(txtgrupo.Text))
Propar:
Explicando melhor:
se o campo Grupo na tabela for numérico, seu RecordSource deverá ficar assim:
Select * from Dados where Grupo = 001 por exemplo
Se for texto (alfanumerico), deverá ficar assim:
Select * from Dados where Grupo = '001'
Explicando melhor:
se o campo Grupo na tabela for numérico, seu RecordSource deverá ficar assim:
Select * from Dados where Grupo = 001 por exemplo
Se for texto (alfanumerico), deverá ficar assim:
Select * from Dados where Grupo = '001'
Propar:
Então, se na tabela estiver texto, vc terá que usar com as apóstrofes (').
Suponho que vc está fazendo com Controle de Dados Acoplado. Se for, use::
Data3.RecordSource = "Select * from Dados where Grupo = ' " & trim(str(txtgrupo.Text)) & " ' "
Data3.Refresh
If Data3.RecordSet.RecordCount = 0 then
.
. 'não tem registros
.
end if
Então, se na tabela estiver texto, vc terá que usar com as apóstrofes (').
Suponho que vc está fazendo com Controle de Dados Acoplado. Se for, use::
Data3.RecordSource = "Select * from Dados where Grupo = ' " & trim(str(txtgrupo.Text)) & " ' "
Data3.Refresh
If Data3.RecordSet.RecordCount = 0 then
.
. 'não tem registros
.
end if
Tópico encerrado , respostas não são mais permitidas