duvida
sou meio que iniciante estou fazendo um sisteminha que eu tenho uma tabela nota que e a mestre e uma tabela itens_nota que e a detalhe eu vo la na tabela e insiro os registros ate ae tudo bem mais os registros que eu estou inserindo ja existe em uma terceira tabela que é uma tabela de produtos entao eu queria fazer uma pesquisa na tabela de produtos pra que eu pudesse inserir o produto selecionado na tabela y tipo retornar pra mim os produtos q eu selecionei no dbedit da tabela y para eu fazer o insert.
Paulo Silva
Curtidas 0
Respostas
Paulo Silva
05/12/2008
O y do comentario ae em cima é a tabela de itens da nota, aehuhehuehuhuea nao sei pq eu coloquei esse y ae nao acho que ja estou variando
GOSTEI 0
Wesley Yamazack
05/12/2008
Paulo, Boa tarde
Bom, não tenho os seus fontes, e também não vi a tela e tudo mais.
Porém pelo que eu entendi você poderia ter uma Grid com todos os produtos cadastrados(Código e Descrição), ao selecionar o produto você pegaria o Código do mesmo e na hora de gravar você passaria este código para a tabela de "itens_nota".
Acho que isso resolveria seu problema, qualquer dúvidas estamos a sua disposição.
GOSTEI 0
Paulo Silva
05/12/2008
bom é essa a minha duvida tenho um botaozinho q abre o form de pesquisa de produtos onde eu tenho que pegar a descricao e o codigo do mesmo mais o que eu nao sei é como eu vou fazer pra na hora que eu selecionar esse produto por exemplo teclando enter esse registro fosse la pra tabela de itens da nota, sabe duvida simples porem eu realmente nao sei como fazer O.o, tipo estou eu prenchendo os campos dos itens clico no botaozin ele lista os produtos que é de outra tabela teclo o enter ele coloca esses valores nos campos codigo, e descricao pra que seja armazenados na tabela de itens .
GOSTEI 0
Wesley Yamazack
05/12/2008
Bom vamos lá.
1 – Crie duas variáveis Globais no teu form(onde você chama o form de produtos), chamadas de
vIDProduto, vIDDescricao : String;
2 – Va até o formulário de produtos, selecione a Grid e vá no evento onKeyPress e coloque o código abaixo(Adapte-o ) para o seu form.
IF KEY = #13 THEN
Begin
vIDProduto := qryProduto.FieldByname(‘IDProduto’).asstring;
vDescricao := qryProduto.FieldByname(‘Descricao’).asstring;
Close;
End;
3 - Quando você pressionar a tecla ENTER(#13), o registro que estiver selecionado será armazenado nas variáveis criadas, no mesmo momento , e o close é para você fechar o formulário assim que você pressionar a tecla(Este é opcional caso você não queria fechar basta ignorar esta linha).
4 - Ao voltar para o formulário basta você passar os valores armazenados nas variáveis para os DBEdits
Ex. : DbEditIDProduto.Text := vIDProduto
Ex. : DbEditDescricao.Text := vDescricao
Qualquer coisa estamos a disposição.
GOSTEI 0
Wesley Yamazack
05/12/2008
Paulo,
Há mais alguma dúvida?
As informações foram suficientes ?
Estamos no aguardo para encerra o chamado.
GOSTEI 0
Paulo Silva
05/12/2008
deu certo sim mais e se eu selecionar o produto errado sem querer
ele vai fikar retornando o valor que esta na variavel nao é?
por exemplo eu vo la e seleciono sem querer como eu faço pra ele atualizar um novo valor nessa variavel?
GOSTEI 0
Paulo Silva
05/12/2008
qual o evento do cadastro de itens que eu posso usar pra ele retornar esses valores dessas variaveis?
GOSTEI 0
Wesley Yamazack
05/12/2008
Bom,
1 - Na hora de você gravar o registro, as duas últimas linhas de programação vão estar abaixo, você pega e limpa as variáveis.
vIDProduto := ‘’;
vDescricao := ‘’;
=======================================================================
2 - Caso você tenha um botão de cancelar, você também pode colocar estas duas linhas dentro deste botão, e ao cancelar uma “venda” você limparia estas variáveis e seu conteúdo sempre estaria vazio.
=======================================================================
3 - Ou então na hora que você der o enter
IF KEY = #13 THEN
Begin
if Application.MessageBox(PChar( Deseja incluir o produto [ + vDescricao + ]), Atenção,MB_YESNO) = mryes then
begin
vIDProduto := qryProduto.FieldByname(‘IDProduto’).asstring;
vDescricao := qryProduto.FieldByname(‘Descricao’).asstring;
Close;
End
Else
begin
vIDProduto := ;
vDescricao := ;
end;
End;
=======================================================================
4 - Ou seja, Application.MessageBox, irá exibir uma mensagem com dois botões de sim e não, caso você clique em sim, ele irá passar os dados para as variáveis, caso contrário ele irá limpar os dados existentes nas variáveis.
Espero que isso possa te ajudar, aguardo seu contato.
GOSTEI 0
Wesley Yamazack
05/12/2008
1 - Na hora que você der o "Enter" na tela de produtos, você irá atribuir os valores para estas variáveis, ao mesmo tempo você poderia passar para os editos no Form de Itens.
Ex. : vIDProduto := qryProduto.FieldByname(‘IDProduto’).asstring;
vDescricao := qryProduto.FieldByname(‘Descricao’).asstring; //novo codigo FrmItem.EdtIDProduto.Text := vIDProduto ;
FrmItem.EdtDescricao.Text := vDescricao ; 2 - Com isso, você irá automaticamente atualizar os Edits no form de Itens
Espero ter ajudado, qualquer coisa estou a disposição
vDescricao := qryProduto.FieldByname(‘Descricao’).asstring; //novo codigo FrmItem.EdtIDProduto.Text := vIDProduto ;
FrmItem.EdtDescricao.Text := vDescricao ; 2 - Com isso, você irá automaticamente atualizar os Edits no form de Itens
Espero ter ajudado, qualquer coisa estou a disposição
GOSTEI 0
Paulo Silva
05/12/2008
brigadao kra resolveu minhas duvidas pode fechar o chamado!!!
deu tudo certin!!!
GOSTEI 0
Wesley Yamazack
05/12/2008
Paulo,
Quem bom que resolvemos seu problema, espero poder ajudar no futuro mais uma vez. Boa noite e boa sorte em seus projetos.
O chamado será fechado.
Quem bom que resolvemos seu problema, espero poder ajudar no futuro mais uma vez. Boa noite e boa sorte em seus projetos.
O chamado será fechado.
GOSTEI 0