Fórum Busca em tabelas #190660

24/10/2003

0

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


Cbier

Cbier

Responder

Posts

24/10/2003

Ricna

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´´.


Responder

Gostei + 0

24/10/2003

Bestschmidt

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.


Responder

Gostei + 0

27/10/2003

Cbier

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 ??


Responder

Gostei + 0

30/10/2003

Ricna

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;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar