Busca em tabelas
Preciso gerar uma msg. da seguinte forma:
Quando o usuário estiver cadastrando uma venda para um determinado cliente, no momento que for selecionado o cliente o sistema gera um aviso, informando que existem outras vendas realizadas para aquele cliente.
Deverá ser feita uma busca na tabela de vendas e gerar o aviso.
Fiz assim, e não deu certo:
tblCadastros.IndexFieldNames:=´NomeCli´;
If tblCadastrosNomeCli := dm.tblVendasNomeCli then
begin
messagedlg(´Existe Vendas realizadas para este cliente. Verifique a validade.´, mtwarning, [mbOK], 0);
Alguém poderia me informar se este é o caminho correto ??
Obrigado
Quando o usuário estiver cadastrando uma venda para um determinado cliente, no momento que for selecionado o cliente o sistema gera um aviso, informando que existem outras vendas realizadas para aquele cliente.
Deverá ser feita uma busca na tabela de vendas e gerar o aviso.
Fiz assim, e não deu certo:
tblCadastros.IndexFieldNames:=´NomeCli´;
If tblCadastrosNomeCli := dm.tblVendasNomeCli then
begin
messagedlg(´Existe Vendas realizadas para este cliente. Verifique a validade.´, mtwarning, [mbOK], 0);
Alguém poderia me informar se este é o caminho correto ??
Obrigado
Cbier
Curtidas 0
Respostas
Ricna
24/10/2003
Partindo do pressuposto que o cliente seja selecionado num lookup
While not tbVendas.eof do begin
if tbVendasCampoCliente.text=lookCliente.text do begin
showmessage(´ Cliente já fez compras´)
exit;
end;
Fica pesado mas funciona.
Só não entendi ´´outras vendas realizadas para o cliente´´ e ´´validade´´.
While not tbVendas.eof do begin
if tbVendasCampoCliente.text=lookCliente.text do begin
showmessage(´ Cliente já fez compras´)
exit;
end;
Fica pesado mas funciona.
Só não entendi ´´outras vendas realizadas para o cliente´´ e ´´validade´´.
GOSTEI 0
Bestschmidt
24/10/2003
Por quê vc não tenta uma query mais ou menos assim:
SQL da Query
Select NomeCli from Vendas
where Vendas.NomeCli = :NomeCliente
E toda vez que precisar , passe o nome do Cliente desejado para esta query. Depois disso, vc faz a verificação através da propriedade recordCount ou IsEmpty (if qry.RecordCount >0 then; if not qry.IsEmpty then mensagem).
Este procedimento tem a vantagem de vc poder trazer todas as informações que quiser deste cliente da tabela Vendas. Por exemplo, se o cliente tem várias compras, você pode trazer A data de vencimento, o valor, se foi à vista ou a prazo, etc e jogar dentro de um DBGrid para visualização.
Valeu?
´Té mais.
SQL da Query
Select NomeCli from Vendas
where Vendas.NomeCli = :NomeCliente
E toda vez que precisar , passe o nome do Cliente desejado para esta query. Depois disso, vc faz a verificação através da propriedade recordCount ou IsEmpty (if qry.RecordCount >0 then; if not qry.IsEmpty then mensagem).
Este procedimento tem a vantagem de vc poder trazer todas as informações que quiser deste cliente da tabela Vendas. Por exemplo, se o cliente tem várias compras, você pode trazer A data de vencimento, o valor, se foi à vista ou a prazo, etc e jogar dentro de um DBGrid para visualização.
Valeu?
´Té mais.
GOSTEI 0
Cbier
24/10/2003
Tentei da seguinte forma:
procedure TfmVendas.DBLookupComboBox1Exit(Sender: TObject);
begin
while not dm.TblClientes.eof do begin
if dm.tblClientesNomeCli.text = DBLookUpComboBox1.text then
begin
showmessage(´Cliente possui vendas, verifique o vencimento´)
end;
end;
end;
Não deu certo. O sistema trava.
O que será que pode estar acontecendo ??
procedure TfmVendas.DBLookupComboBox1Exit(Sender: TObject);
begin
while not dm.TblClientes.eof do begin
if dm.tblClientesNomeCli.text = DBLookUpComboBox1.text then
begin
showmessage(´Cliente possui vendas, verifique o vencimento´)
end;
end;
end;
Não deu certo. O sistema trava.
O que será que pode estar acontecendo ??
GOSTEI 0
Ricna
24/10/2003
procedure TfmVendas.DBLookupComboBox1Exit(Sender: TObject);
begin
dm.TblClientes.first
while not dm.TblClientes.eof do begin
if dm.tblClientesNomeCli.text = DBLookUpComboBox1.text then
begin
showmessage(´Cliente possui vendas, verifique o vencimento´)
end;
dm.TblClientes.next;
end;
end;
begin
dm.TblClientes.first
while not dm.TblClientes.eof do begin
if dm.tblClientesNomeCli.text = DBLookUpComboBox1.text then
begin
showmessage(´Cliente possui vendas, verifique o vencimento´)
end;
dm.TblClientes.next;
end;
end;
GOSTEI 0