ERRO EM CONSULTA SQL

EDILSONLEAL 23/03/2011 14:50:53
#368915
o que está faltando é o nome da tabela antes do campo datainicio

[Ô]Select * From Consignados Where codigofuncionario Like [ô][Ô] & rsfuncionarios([Ô]codigo[Ô]) & [Ô][ô] And situacao Like [ô]Ativo[ô] Order By cdate(Consignados.datainicio) Desc[Ô]

teste aí!!!
PERCIFILHO 23/03/2011 15:00:20
#368918
Olha pessoal, essa é e tela, quando digitado um nome na TextBox e o sistema encontra apenas um funcionário com o nome digitado.
Repare que a order é por data decrescente.
PERCIFILHO 23/03/2011 15:02:16
#368919
Essa é a tela quando clicado no Botão Itaú. Tem que mostrar apenas os consignados do Banco Itaú.
Repare que a ordem também é por data e decrescente.
PERCIFILHO 23/03/2011 15:04:07
#368920
Essa é a tela, quando o usuário deixa a TextBox em branco, para mostrar todos os consignados em aberto.
Repare a ordem que aparece. E a consulta sql é igual para todos os casos.
NETMANIA 23/03/2011 15:05:01
#368921
Você pode informar qual é a base de dados que você está utilizando? Com isso podemos informar qual função que você deverá usar para converter a informação do campo texto em tipo data.
MARCELO.TREZE 23/03/2011 15:08:37
#368922
primeiro perci verifique se o txtNome está preenchido, vc pode usar a função no evento change do textbox

If txtNome.Text = [Ô][Ô] Then
sSQL= [Ô]Select F.*,C.* From Funcionario F INNER JOIN Consignados C ON C.codigofuncionario = F.codigo ORDER BY CDate(C.datainicio) DESC[Ô]
Else
sSQL= [Ô]Select F.*,C.* From Funcionario F INNER JOIN Consignados C ON C.codigofuncionario = F.codigo WHERE F.nome Like [ô][Ô] & TxtNome.Text & [Ô]*[ô] AND C.situacao =[ô]Ativo[ô] ORDER BY CDate(C.datainicio) DESC[Ô]
End if
Set RSConsulta= db.OpenRecordset(sSQL)
Do While Not RSConsulta.EOF
[ô]preenche a ListView com os dados encontrados
RSConsulta.MoveNext
Loop



bom acima usei um inner join no intuito de reduzir seu código, não sei se irá funcionar como deseja, mas quero passar a idéia de como fazer.

veja que criei um if que verifica se o campo text está vazio se estiver faz uma sql que preenche o list com todos os dados, se não estiver preenche conforme o que for digitado.

teste e veja se funciona

PERCIFILHO 23/03/2011 15:11:32
#368923
Marcelo, vou verificar e depois te retorno.
Obrigado.
Até mais.
HIDDEN 23/03/2011 15:23:28
#368924
Tem um erro nesse código:

        sqlfuncionarios = [Ô]Select * From Funcionarios Where nome Like [ô]*[Ô] & TxtNome.Text & [Ô]*[ô][Ô]
Set rsfuncionarios = db.OpenRecordset(sqlfuncionarios)
If rsfuncionarios.EOF Then
Exit Sub
End If
Do Until rsfuncionarios.EOF
sqlconsignados = [Ô]Select * From Consignados Where codigofuncionario Like [ô][Ô] & rsfuncionarios([Ô]codigo[Ô]) & [Ô][ô] And situacao Like [ô]Ativo[ô] Order By cdate(datainicio) Desc[Ô]
Set rsconsignados = db.OpenRecordset(sqlconsignados)
If rsconsignados.EOF Then
rsfuncionarios.MoveNext
Else
Do Until rsconsignados.EOF
rsconsignados.MoveNext
Loop
rsfuncionarios.MoveNext
End If
rsconsignados.Close [ô]tem que acrescentar essa linha
Loop
Exit Sub
PERCIFILHO 23/03/2011 15:43:55
#368926
Bom pessoal, é o seguinte. Não consegui resolver dessa maneira. Alterei o projeto, fazendo com que o usuário clique num botão e abra a consulta de funcionários, assim ele escolhe o funcionário que deseja consultar na lista, e quando der duplo clique sobre ele, consulta apenas os consignados do funcionário selecionado. é mais prático dessa maneira.
Obrigado aos que [Ô]esquentaram a cabeça[Ô].

Até mais.
Página 2 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas