to precisando dmais de uma ajuda porque não tenho noção do que está acontecendo...
já tentei de tudo aqui...
é o seguinte...
Em um cadastro de produtos, "ando" até o terceiro registro [Refrigerante, por exemplo]
Tenho uma tela de busca...entro nessa tela e busco o produto Abacaxi, após encontrado, os dados desse registro são levados à tela de cadastro para serem alterados...desta forma:
Mas quando clico em Alterar, o registro que abre para ser alterado é o último que estava lá....o do Refrigerante!!!!
É como se a busca não tivesse sido feita!!!
É como se os dados do registro do Abacaxi estivessem lá, mas o registro que realmente está é o do Refrigerante!!!
A alteração é feita dessa forma:
alguém saberia me ajudar, dizendo como eu faço pra buscar um registro e alterar este registro encontrado, e não o que já estava na tela de cadastro???!!!
Pergunta
Gabriel Cabral
E ae galera...
to precisando dmais de uma ajuda porque não tenho noção do que está acontecendo...
já tentei de tudo aqui...
é o seguinte...
Em um cadastro de produtos, "ando" até o terceiro registro [Refrigerante, por exemplo]
Tenho uma tela de busca...entro nessa tela e busco o produto Abacaxi, após encontrado, os dados desse registro são levados à tela de cadastro para serem alterados...desta forma:
procedure TfrmLocalPro.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (txtLocalPro_CodPro.Focused = True) OR (txtLocalPro_Desc.Focused = True) OR (GridLocalPro.Focused = True) Then begin if (Key = VK_DOWN) Then begin GridLocalPro.SetFocus; GridLocalPro.SelectedIndex := 1; end; if (Key = VK_RETURN) Then begin GridLocalPro.SetFocus; GridLocalPro.SelectedIndex := 1; with dm.QueryBuscaPro do begin Close; SQL.Clear; SQL.Add('SELECT * FROM ESTAPRO.dbf'); SQL.Add('WHERE PRODES = :pDESC'); ParambyName('pDESC').AsString := GridLocalPro.SelectedField.AsString; Open; if not(IsEmpty) then begin frmCadPro.txtCadPro_CodPro .Text := dm.QueryBuscaPro.FieldByName('PROCOD').AsString; frmCadPro.cboCadPro_Secao .Text := dm.QueryBuscaPro.FieldByName('PROTIP').AsString; frmCadPro.txtCadPro_DataCad .Text := dm.QueryBuscaPro.FieldByName('PROCAD').AsString; frmCadPro.txtCadPro_Desc .Text := dm.QueryBuscaPro.FieldByName('PRODES').AsString; frmCadPro.txtCadPro_Estoque .Text := dm.QueryBuscaPro.FieldByName('PROQTD').AsString; frmCadPro.txtCadPro_UndVen .Text := dm.QueryBuscaPro.FieldByName('PROUND').AsString; frmCadPro.cboCadPro_Icms .Text := dm.QueryBuscaPro.FieldByName('PROICM').AsString; frmCadPro.txtCadPro_EstMin .Text := dm.QueryBuscaPro.FieldByName('PROMIN').AsString; frmCadPro.txtCadPro_EstMax .Text := dm.QueryBuscaPro.FieldByName('PROMAX').AsString; frmCadPro.txtCadPro_PreCus .Text := dm.QueryBuscaPro.FieldByName('PROCUS').AsString; frmCadPro.txtCadPro_Vml .Text := dm.QueryBuscaPro.FieldByName('PROLUC').AsString; frmCadPro.txtCadPro_PreVen .Text := dm.QueryBuscaPro.FieldByName('PROPRE').AsString; frmCadPro.cboCadPro_CodForn1 .Text := dm.QueryBuscaPro.FieldByName('PROFOR').AsString; frmCadPro.cboCadPro_CodForn2 .Text := dm.QueryBuscaPro.FieldByName('PROFO2').AsString; frmCadPro.cboCadPro_CodForn3 .Text := dm.QueryBuscaPro.FieldByName('PROFO3').AsString; frmCadPro.cboCadPro_CodForn4 .Text := dm.QueryBuscaPro.FieldByName('PROFO4').AsString; frmCadPro.txtCadPro_Fracao .Text := dm.QueryBuscaPro.FieldByName('PROFRA').AsString; frmCadPro.txtCadPro_UndCompra .Text := dm.QueryBuscaPro.FieldByName('PROUNC').AsString; frmCadPro.txtCadPro_Local .Text := dm.QueryBuscaPro.FieldByName('PROLOC').AsString; frmCadPro.txtCadPro_Cotacao .Text := dm.QueryBuscaPro.FieldByName('PROCOT').AsString; frmCadPro.txtCadPro_CodOrigem .Text := dm.QueryBuscaPro.FieldByName('PROORI').AsString; frmCadPro.txtCadPro_ArqBal .Text := dm.QueryBuscaPro.FieldByName('PROPES').AsString; frmCadPro.txtCadPro_PesUnd .Text := dm.QueryBuscaPro.FieldByName('PROUNP').AsString; frmCadPro.txtCadPro_DiasVal .Text := dm.QueryBuscaPro.FieldByName('PRODVL').AsString; frmCadPro.txtCadPro_BalCaixa .Text := dm.QueryBuscaPro.FieldByName('PROBAL').AsString; frmCadPro.txtCadPro_PreOfe .Text := dm.QueryBuscaPro.FieldByName('PROPOF').AsString; frmCadPro.txtCadPro_DataIniOfe .Text := dm.QueryBuscaPro.FieldByName('PROIOF').AsString; frmCadPro.txtCadPro_DataFinOfe .Text := dm.QueryBuscaPro.FieldByName('PRODOF').AsString; frmCadPro.txtCadPro_EstoqPrat .Text := dm.QueryBuscaPro.FieldByName('PROEPR').AsString; frmCadPro.txtCadPro_QtdeMinPrat .Text := dm.QueryBuscaPro.FieldByName('PROPRT').AsString; frmCadPro.txtCadPro_TotalComp .Text := dm.QueryBuscaPro.FieldByName('PROCOM').AsString; frmCadPro.txtCadPro_TotalVend .Text := dm.QueryBuscaPro.FieldByName('PROVEN').AsString; frmCadPro.txtCadPro_DataUlt .Text := dm.QueryBuscaPro.FieldByName('PRODTC').AsString; frmCadPro.txtCadPro_FornUlt .Text := dm.QueryBuscaPro.FieldByName('PROFOC').AsString; frmCadPro.txtCadPro_QtdeUlt .Text := dm.QueryBuscaPro.FieldByName('PROQDC').AsString; frmCadPro.txtCadPro_PreUlt .Text := dm.QueryBuscaPro.FieldByName('PROPRC').AsString; frmCadPro.txtCadPro_DataEnt .Text := dm.QueryBuscaPro.FieldByName('PROENT').AsString; frmCadPro.txtCadPro_QtdeEnt .Text := dm.QueryBuscaPro.FieldByName('PROQTE').AsString; frmCadPro.txtCadPro_DataSai .Text := dm.QueryBuscaPro.FieldByName('PROSAI').AsString; frmCadPro.txtCadPro_QtdeSai .Text := dm.QueryBuscaPro.FieldByName('PROQTS').AsString; end; end; // txtLocalPro_CodPro.SetFocus; frmLocalPro.Close; end; end; end;Mas quando clico em Alterar, o registro que abre para ser alterado é o último que estava lá....o do Refrigerante!!!! É como se a busca não tivesse sido feita!!! É como se os dados do registro do Abacaxi estivessem lá, mas o registro que realmente está é o do Refrigerante!!! A alteração é feita dessa forma:procedure TfrmCadPro.btnAlterarClick(Sender: TObject); var i: integer; begin //desbloquear campos txtCadPro_CodPro .ReadOnly := False; cboCadPro_Secao .ReadOnly := False; txtCadPro_DataCad .ReadOnly := False; txtCadPro_Desc .ReadOnly := False; txtCadPro_Estoque .ReadOnly := False; txtCadPro_UndVen .ReadOnly := False; cboCadPro_Icms .ReadOnly := False; txtCadPro_EstMin .ReadOnly := False; txtCadPro_EstMax .ReadOnly := False; txtCadPro_PreCus .ReadOnly := False; txtCadPro_Vml .ReadOnly := False; txtCadPro_PreVen .ReadOnly := False; cboCadPro_CodForn1 .ReadOnly := False; cboCadPro_CodForn2 .ReadOnly := False; cboCadPro_CodForn3 .ReadOnly := False; cboCadPro_CodForn4 .ReadOnly := False; txtCadPro_Fracao .ReadOnly := False; txtCadPro_UndCompra .ReadOnly := False; txtCadPro_Local .ReadOnly := False; txtCadPro_CodOrigem .ReadOnly := False; txtCadPro_DiasVal .ReadOnly := False; txtCadPro_PreOfe .ReadOnly := False; txtCadPro_DataIniOfe .ReadOnly := False; txtCadPro_DataFinOfe .ReadOnly := False; txtCadPro_EstoqPrat .ReadOnly := False; txtCadPro_QtdeMinPrat .ReadOnly := False; txtCadPro_TotalComp .ReadOnly := False; txtCadPro_TotalVend .ReadOnly := False; txtCadPro_DataUlt .ReadOnly := False; txtCadPro_FornUlt .ReadOnly := False; txtCadPro_QtdeUlt .ReadOnly := False; txtCadPro_PreUlt .ReadOnly := False; txtCadPro_DataEnt .ReadOnly := False; txtCadPro_QtdeEnt .ReadOnly := False; txtCadPro_DataSai .ReadOnly := False; txtCadPro_QtdeSai .ReadOnly := False; txtAux .ReadOnly := False; btnNovo .Enabled := False; btnGravar .Enabled := True; btnAlterar .Enabled := False; btnExcluir .Enabled := False; btnBuscar .Enabled := False; btnPrimeiro .Enabled := False; btnAnterior .Enabled := False; btnProximo .Enabled := False; btnUltimo .Enabled := False; btnSair .Enabled := True; //deixar que o campo receba o foco com o Tab txtCadPro_CodPro .TabStop := True; cboCadPro_Secao .TabStop := True; txtCadPro_DataCad .TabStop := True; txtCadPro_Desc .TabStop := True; txtCadPro_Estoque .TabStop := True; txtCadPro_UndVen .TabStop := True; cboCadPro_Icms .TabStop := True; txtCadPro_EstMin .TabStop := True; txtCadPro_EstMax .TabStop := True; txtCadPro_PreCus .TabStop := True; txtCadPro_Vml .TabStop := True; txtCadPro_PreVen .TabStop := True; cboCadPro_CodForn1 .TabStop := True; cboCadPro_CodForn2 .TabStop := True; cboCadPro_CodForn3 .TabStop := True; cboCadPro_CodForn4 .TabStop := True; txtCadPro_Fracao .TabStop := True; txtCadPro_UndCompra .TabStop := True; txtCadPro_Local .TabStop := True; FrameConEstoq .TabStop := True; ProEstSim .TabStop := True; ProEstNao .TabStop := True; FrameCotacao .TabStop := True; ProCotSim .TabStop := True; ProCotNao .TabStop := True; txtCadPro_CodOrigem .TabStop := True; FrameBalanca .TabStop := True; ProPesSim .TabStop := True; ProPesNao .TabStop := True; FramePesUnd .TabStop := True; ProUnpPeso .TabStop := True; ProUnpUnidade .TabStop := True; txtCadPro_DiasVal .TabStop := True; FrameBalancaCaixa .TabStop := True; ProBalSim .TabStop := True; ProBalNao .TabStop := True; txtCadPro_PreOfe .TabStop := True; txtCadPro_DataIniOfe .TabStop := True; txtCadPro_DataFinOfe .TabStop := True; txtCadPro_EstoqPrat .TabStop := True; txtCadPro_QtdeMinPrat .TabStop := True; txtCadPro_TotalComp .TabStop := True; txtCadPro_TotalVend .TabStop := True; FrameUltCompra .TabStop := True; txtCadPro_DataUlt .TabStop := True; txtCadPro_FornUlt .TabStop := True; txtCadPro_QtdeUlt .TabStop := True; txtCadPro_PreUlt .TabStop := True; FrameUltMovEst .TabStop := True; txtCadPro_DataEnt .TabStop := True; txtCadPro_QtdeEnt .TabStop := True; txtCadPro_DataSai .TabStop := True; txtCadPro_QtdeSai .TabStop := True; txtAux .TabStop := True; FrameConEstoq .Enabled := True; FrameCotacao .Enabled := True; FrameBalanca .Enabled := True; FramePesUnd .Enabled := True; FrameBalancaCaixa .Enabled := True; cboCadPro_Secao.Items.Clear; dm.tblCadSecao.First; while dm.tblCadSecao.Eof = False do begin cboCadPro_Secao.Items.Add(dm.tblCadSecao.FieldByName('TIPNOM').AsString); dm.tblCadSecao.next; end; cboCadPro_CodForn1.Items.Clear; cboCadPro_CodForn2.Items.Clear; cboCadPro_CodForn3.Items.Clear; cboCadPro_CodForn4.Items.Clear; dm.tblCadForn.First; while dm.tblCadForn.Eof = False do begin cboCadPro_CodForn1.Items.Add(dm.tblCadForn.FieldByName('FORCOD').AsString); cboCadPro_CodForn2.Items.Add(dm.tblCadForn.FieldByName('FORCOD').AsString); cboCadPro_CodForn3.Items.Add(dm.tblCadForn.FieldByName('FORCOD').AsString); cboCadPro_CodForn4.Items.Add(dm.tblCadForn.FieldByName('FORCOD').AsString); dm.tblCadForn.next; end; txtCadPro_Mode.Caption := 'MODO ALTERAÇÃO'; txtCadPro_CodPro.SetFocus; if not (txtCadPro_CodPro.Text = '') then begin for i:=1 to txtCadPro_CodPro.MaxLength - length(txtCadPro_CodPro.Text) do txtCadPro_CodPro.Text := '0' + txtCadPro_CodPro.Text; end; txtCadPro_AuxCodPro.Text := txtCadPro_CodPro.Text; dm.tblCadPro.Edit; end;alguém saberia me ajudar, dizendo como eu faço pra buscar um registro e alterar este registro encontrado, e não o que já estava na tela de cadastro???!!!
Muito Obrigado
Link para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.