Campo Lookup
27/08/2004
0
Boa tarde,
Estou com um probleminha com um campo lookup.
Uso base de dados Access e conexão ADO.
Em um ADOQuery criei esse campo Lookup que me dá o nome do cliente que está em outra tabela.
O conteúdo da tabela está sendo exibida em um DBGrid.
A principio o campo está funcionando perfeitamente.
O problema é o seguinte:
O sistema faz uma consulta SQL (SELECT), até aí tá tudo funcionando direitinho. O problema é quando o usuário retira o filtro e o sistema faz outra conulta SQL (SELECT * FROM Tab_SaidaProduto), o conteúdo do campo LoockUp fica em branco.
Já tentei dar um refresh, e um open na tabela mas nao resolveu!
Alguém tem alguma idéia????
Estou com um probleminha com um campo lookup.
Uso base de dados Access e conexão ADO.
Em um ADOQuery criei esse campo Lookup que me dá o nome do cliente que está em outra tabela.
O conteúdo da tabela está sendo exibida em um DBGrid.
A principio o campo está funcionando perfeitamente.
O problema é o seguinte:
O sistema faz uma consulta SQL (SELECT), até aí tá tudo funcionando direitinho. O problema é quando o usuário retira o filtro e o sistema faz outra conulta SQL (SELECT * FROM Tab_SaidaProduto), o conteúdo do campo LoockUp fica em branco.
Já tentei dar um refresh, e um open na tabela mas nao resolveu!
Alguém tem alguma idéia????
With DMDados Do Begin TabClientes.SQL.Clear; TabClientes.SQL.Add(´SELECT * FROM Tab_Clientes WHERE Nome LIKE ´ + QuotedStr(ComboClientes.Text)); TabClientes.Open; If (TabClientes.RecordCount > 0) Then Begin TabSaidaProdutos.SQL.Clear; TabSaidaProdutos.SQL.Add(´SELECT * FROM Tab_Saida WHERE CodCliente = ´ + TabClientes.FieldByName(´Codigo´).AsString + ´ ORDER BY Data´); TabSaidaProdutos.Open; TabParcelas.SQL.Clear; TabParcelas.SQL.Add(´SELECT * FROM Tab_Parcelas WHERE CodVenda = ´ + TabSaidaProdutos.FieldByName(´Codigo´).AsString + ´ AND Paga = False ORDER BY NumParc´); TabParcelas.Open; TabParcelasPagas.SQL.Clear; TabParcelasPagas.SQL.Add(´SELECT * FROM Tab_Parcelas WHERE CodVenda = ´ + TabSaidaProdutos.FieldByName(´Codigo´).AsString + ´ AND Paga = True ORDER BY NumParc´); TabParcelasPagas.Open; //RECALCULA TOTAIS DE SAIDA FormBaixaCliente.TabSaidaProdutos1.SQL.Clear; FormBaixaCliente.TabSaidaProdutos1.SQL.Add(´SELECT SUM(ValorTotal) AS Total, SUM(VTotalComJuros) AS VTotalJuros FROM Tab_Saida WHERE CodCliente = ´ + TabClientes.FieldByName(´Codigo´).AsString); FormBaixaCliente.TabSaidaProdutos1.Open; PanelVTotalVendas.Caption := FormatFloat(´R$ #,0.00;(R$ ,0.00)´, FormBaixaCliente.TabSaidaProdutos1.FieldByName(´Total´).AsFloat); PanelTotalJuros.Caption := FormatFloat(´R$ ,0.00;(R$ ,0.00)´, TabSaidaProdutos1.FieldByName(´VTotalJuros´).AsFloat - TabSaidaProdutos1.FieldByName(´Total´).AsFloat); PanelTotalCJuros.Caption := FormatFloat(´R$ ,0.00;(R$ ,0.00)´, TabSaidaProdutos1.FieldByName(´VTotalJuros´).AsFloat); End; //--------------------------------------------------------------------------------- //AQUI O USUÁRIO TIRA O FILTRO If (ComboClientes.Text = ´´) Then Begin TabSaidaProdutos.SQL.Clear; TabSaidaProdutos.SQL.Add(´SELECT * FROM Tab_Saida ORDER BY Data´); TabSaidaProdutos.Open; TabParcelas.SQL.Clear; TabParcelas.SQL.Add(´SELECT * FROM Tab_Parcelas WHERE CodVenda = ´ + TabSaidaProdutos.FieldByName(´Codigo´).AsString + ´ AND Paga = False ORDER BY NumParc´); TabParcelas.Open; TabParcelasPagas.SQL.Clear; TabParcelasPagas.SQL.Add(´SELECT * FROM Tab_Parcelas WHERE CodVenda = ´ + TabSaidaProdutos.FieldByName(´Codigo´).AsString + ´ AND Paga = True ORDER BY NumParc´); TabParcelasPagas.Open; AtualizaSoma(Sender); End; End;
André Maretti
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)