CHAMAR UMA FUNCAO DE PESQUISA PRODUTO NA GRID
UTILIZO DELPHI 7
BANCO DE DADOS FIREBIRD
COMPONENTE DBEXPESS
TENHO UM PROGRMA DE DIGITACAO DE PEDIDO
O CLIENTE QUER QUE TODA VEZ QUE ENTRAR NA LINHA DE DIGITACAO DE ITENS ANTES DE DIGITAR O CODIGO DO PRODUTO
JA CHAMAR A TELA DE PESQUISA PRODUTO
NO PROGRAMA QUANDO O CLIENTE ACIONA A TECLA [F2] O PROGRAMA CHAMA A TELA DE PESQUISA DE PRODUTO
ALGUEm PODE ME AJUDAR A RESOLVER ESTE PROBLEMA???
Grato
Plácido
BANCO DE DADOS FIREBIRD
COMPONENTE DBEXPESS
TENHO UM PROGRMA DE DIGITACAO DE PEDIDO
O CLIENTE QUER QUE TODA VEZ QUE ENTRAR NA LINHA DE DIGITACAO DE ITENS ANTES DE DIGITAR O CODIGO DO PRODUTO
JA CHAMAR A TELA DE PESQUISA PRODUTO
NO PROGRAMA QUANDO O CLIENTE ACIONA A TECLA [F2] O PROGRAMA CHAMA A TELA DE PESQUISA DE PRODUTO
ALGUEm PODE ME AJUDAR A RESOLVER ESTE PROBLEMA???
Grato
Plácido
Placido
Curtidas 0
Respostas
Woinch
01/07/2009
No evento OnEnter do Edit, faça o seguinte:
Tente usar esse exemplo que lhe passei, qualquer dúvida favor responder.
procedure TForm1.Edit1Enter(Sender: TObject); var NomeDaTelaDeBusca := TNomeDaTelaDeBusca; //aqui voce deve substituir pelas informações corretas do formulário que você quer abrir begin NomeDaTelaDeBusca := TNomeDaTelaDeBusca.Create(Application); if (NomeDaTelaDeBusca.ShowModal = mrOk) then //Lembro que para esse teste funcionar você deve ter um botão que feche a janela e tenha a propriedade ModalResult como mrOk. Edit1.Text := NomeDaTelaDeBusca.VariavelRetorno; //Variável retorno é uma variável global que deve ser definida no form de busca que ao efetuar o evento FormClose deve ser preenchida com o conteúdo que voce deseja end;
Tente usar esse exemplo que lhe passei, qualquer dúvida favor responder.
GOSTEI 0
Placido
01/07/2009
Boa tarde
Meu amigo obrigado pela ajuda..
Mas o meu caso é uma grid
Não é um campo edit
Grato
Plácido
Meu amigo obrigado pela ajuda..
Mas o meu caso é uma grid
Não é um campo edit
Grato
Plácido
GOSTEI 0
Woinch
01/07/2009
Para adaptar basta utilizar o evento OnColEnter ao invés do OnEnter.
GOSTEI 0
Placido
01/07/2009
Bom dia
Meu amigo obrigado pela ajuda..
Mas não consegui resolver o problema
Veja o meu comandop abaixo
-----------------------------------------------------------------------------
procedure TfrmMovPedido.gdPedidoColEnter(Sender: TObject);
var
VcolunaAnterior : Smallint;
result : variant;
mteste : Integer;
begin
inherited;
VcolunaAnterior := 0;
// inicio pesquisa
FrmPesquisaProdutos := TFrmPesquisaProdutos.Create(Self);
FrmPesquisaProdutos.ResultField := 1;
FrmPesquisaProdutos.Pesquisa := true;
result := FrmPesquisaProdutos.Open;
if result <> null then
begin
if not(dsDetalhe.DataSet.State in [dsInsert, dsEdit]) then
dsDetalhe.DataSet.Edit;
SalvarBTN.Enabled := True;
cdsDetalhePROD_CODIGO.AsInteger := StrToInt(result);
end;
FrmPesquisaProdutos.Release;
// fim pesquisa
end;
----------------------------------------------------------------------------
Esta chamando a funcao de pesquisa, mas so que cada campo que o digito chama a tela de pesquisa de produto, eu quero chamar a tela de pesquisa sempre ao entrar na linha de digitação de itens.
Grato
Plácido
Meu amigo obrigado pela ajuda..
Mas não consegui resolver o problema
Veja o meu comandop abaixo
-----------------------------------------------------------------------------
procedure TfrmMovPedido.gdPedidoColEnter(Sender: TObject);
var
VcolunaAnterior : Smallint;
result : variant;
mteste : Integer;
begin
inherited;
VcolunaAnterior := 0;
// inicio pesquisa
FrmPesquisaProdutos := TFrmPesquisaProdutos.Create(Self);
FrmPesquisaProdutos.ResultField := 1;
FrmPesquisaProdutos.Pesquisa := true;
result := FrmPesquisaProdutos.Open;
if result <> null then
begin
if not(dsDetalhe.DataSet.State in [dsInsert, dsEdit]) then
dsDetalhe.DataSet.Edit;
SalvarBTN.Enabled := True;
cdsDetalhePROD_CODIGO.AsInteger := StrToInt(result);
end;
FrmPesquisaProdutos.Release;
// fim pesquisa
end;
----------------------------------------------------------------------------
Esta chamando a funcao de pesquisa, mas so que cada campo que o digito chama a tela de pesquisa de produto, eu quero chamar a tela de pesquisa sempre ao entrar na linha de digitação de itens.
Grato
Plácido
GOSTEI 0
Osocram
01/07/2009
Amigo,
Por experiencia própria não aconselho permitir operações direto no dbgrid. Pois é bem complicado fazer validações e tudo mais.
Coloque uns dbedit logo acima do dbgrid dos campos que o usuario pode editar e use o que o amigo Woinch disse.
Por experiencia própria não aconselho permitir operações direto no dbgrid. Pois é bem complicado fazer validações e tudo mais.
Coloque uns dbedit logo acima do dbgrid dos campos que o usuario pode editar e use o que o amigo Woinch disse.
GOSTEI 0
Woinch
01/07/2009
Se você quiser validar qual a linha esta selecionada basta utilizar a propriedade SelectedIndex do DBGrid.
Espero ter ajudado.
Espero ter ajudado.
GOSTEI 0