Fórum Problemas com função de localizar clientes #460853
12/11/2013
0
este é o codigo que chama a tabela..
Status('E');
PageControl1.ActivePage := Tab_Cadastro;
TabVisivel(False,True,True);
with TClientDataset(Dts_CadOs.DataSet) do
begin
Close;
Params[0].AsInteger := TClientDataset(Dts_PescOs.DataSet).Fields [0].AsInteger;
Open;
edit;
CarregaCliente; // aki sozinho funciona
Montacliente; //quando passa por este pela primeira vez funciona más depois não funciona mais..
end;
DBEdit2.SetFocus;
Função Carrega cliente
procedure TFCadOs.CarregaCliente;
begin
with TClientDataset(Dts_Pes_Cliente.DataSet) do
begin
Close;
Params[0].AsInteger := TClientDataset(Dts_PescOs.DataSet).Fields [1].AsInteger;
Open;
end;
end;
Função Montacliente
procedure TFCadOs.Montacliente; begin Edit1.Text := DMCONSULTA.Cds_Pesc_Os_ClienteCLIENTE.Value; Edit3.Text := DMCONSULTA.Cds_Pesc_Os_ClienteCPF_CNPJ.Value; Edit4.Text := DMCONSULTA.Cds_Pesc_Os_ClienteCOMPLEMENTO.Value; Edit5.Text := DMCONSULTA.Cds_Pesc_Os_ClienteRG_INSCEST.Value; Edit6.Text := DMCONSULTA.Cds_Pesc_Os_ClienteCEP.Value; Edit7.Text := DMCONSULTA.Cds_Pesc_Os_ClienteENDERECO.Value + ' - Nº '+ IntToStr(DMCONSULTA.Cds_Pesc_Os_ClienteNUM_ENDERECO.Value); Edit8.Text := DMCONSULTA.Cds_Pesc_Os_ClienteBAIRRO.Value; Edit9.Text := DMCONSULTA.Cds_Pesc_Os_ClienteCIDADE.value; Edit10.Text := DMCONSULTA.Cds_Pesc_Os_ClienteUF.Value; Edit11.Text := DMCONSULTA.Cds_Pesc_Os_ClienteTPTEL01.Value; Edit12.Text := DMCONSULTA.Cds_Pesc_Os_ClienteTELEFONE01.Value; Edit13.Text := DMCONSULTA.Cds_Pesc_Os_ClienteTPTEL02.Value; Edit14.Text := DMCONSULTA.Cds_Pesc_Os_ClienteTELEFONE02.Value; Edit15.Text := DateToStr(DMCONSULTA.Cds_Pesc_Os_ClienteDATA_ULT_OFIC.Value); end;
é somente isso..agora quando comento a Função Montacliente o codigo funciona perfeitamente..
Gilmar Moraes
Curtir tópico
+ 0Posts
12/11/2013
Gustavo Bretas
Que componente de conexão vc esta usando?
Eu já vi muitos casos de perder os parâmetros, para resolver isso eu uso o "Fetch Params" no ClientDataSet (Clica com o botão direito do mouse sobre o ClientDataSet).
Gostei + 0
12/11/2013
Gilmar Moraes
Que componente de conexão vc esta usando?
Eu já vi muitos casos de perder os parâmetros, para resolver isso eu uso o "Fetch Params" no ClientDataSet (Clica com o botão direito do mouse sobre o ClientDataSet).
então, uso ClientDataset, eu fiz como vc disse e aparentimente funcionou..e curiosamente sempre faço isso..más não sei o que me deu desta fez..más o que este "Fetch Params" faz ? pois faço sem saber qual seria a finalidade dele..
más vlw demais cara..eu não sei pular para outro caso sem resolver o problema e isso me atrasa muito..vlw denovo..
Gostei + 0
29/11/2013
Gilmar Moraes
Que componente de conexão vc esta usando?
Eu já vi muitos casos de perder os parâmetros, para resolver isso eu uso o "Fetch Params" no ClientDataSet (Clica com o botão direito do mouse sobre o ClientDataSet).
Carissimo, depois de colocar o sistema funcionando verifiquei que realmente o problema ainda continua..já fiz o "Fetch Params" más ainda não resolveu..más vamos a uma descrição de como está funcionando meu programa, como na maioria dos sitemas que vejo por aí consiste em 2 datamodules, um para cadastro e outra para pesquisa. o problema esta ocorrendo em um cadastro de ordem de serviço que fiz para minha loja, neste cadastro tem a pesquisa de uma OS e tambem um botão de cadastro, onde abre um aba com as informações de entrada., tudo no mesmo form, uma vez pesquisado a os, um dbgrid me mostra os resultados. tenho opção de clicar ou ir ao botão para acessar o registro selecionado..na OS apenas o código do cliente é usado para fazer o cadastro, quando acesso o registro um função localiza o cliente e exibe no formulário..e é aí que o problema está..quando faço o procedimento incialmente funciona más depois dá o erro do tópico..
Status('L');
PageControl1.ActivePage := Tab_Cadastro;
TabVisivel(False,True,True);
with TClientDataset(Dts_CadOs.DataSet) do
begin
Close;
Params[0].AsInteger := TClientDataset(Dts_PescOs.DataSet).Fields [0].AsInteger;
Open;
edit;
CarregaCliente;
PesquisaOsItens;
Montacliente;
VlrSubTot := DM.Cds_CadOSVLR_TOTAL.Value;
SPSalvar.Enabled := True;
SBCancelar.Enabled := True;
end;
DBEdit2.SetFocus;
uso clientdataset
uma outra alternativa até mesmo para teste seria tirar o parametro e tentar um busca normal..e neste caso aceito sugestões de qual forma fazer para não sobre carregar ou gerar trafego na rede..vlw
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)