Paltrin Postado Novembro 26, 2007 Denunciar Share Postado Novembro 26, 2007 PrezadosEstou com erro nesta função abaixo, pfavor alguém poderia me ajudar:São dois forms que estou usando essa função.Seguinte o Erro acontece neste caminho:- Abro o FrmMovimento ciclo no Navigator exibi para o saldo de todos os produtos sem erro funciona muito bem...okEm seguida abro o FrmProdutos ciclo no Navigator deste form ai da o ERRodizendo que Access Violation, e me indica com uma faixa essa linha:With ZQSldAtual do.//----UnitMovimento.pasfunction TFrmMovimento.CalculoSaldoAtual(Data,codigo: string): String;beginif((Data <> '')and(codigo <> '')) thenbeginWith ZQSldAtual dobeginZQSldAtual.Active := false;ZQSldAtual.Sql.clear ;ZQSldAtual.Params.clear;ZQSldAtual.SQL.Add(' select ');ZQSldAtual.SQL.Add(' COALESCE( ( select sum(m.qtdmvt) from mvt m where tipmvt = :vE and m.dtamvt <= :vdata and m.codprd= :vcodigo ) ,0) ');ZQSldAtual.SQL.Add(' - ');ZQSldAtual.SQL.Add(' COALESCE( ( select sum(m.qtdmvt) from mvt m where tipmvt = :vS and m.dtamvt <= :vdata and m.codprd= :vcodigo ) ,0) ');ZQSldAtual.SQl.Add(' AS SALDO ');ZQSldAtual.ParambyName('vE').Value := 'E';ZQSldAtual.ParambyName('vS').Value := 'S';ZQSldAtual.ParambyName('vdata').Value := copy(Data,7,4)+'-'+copy(Data,4,2)+'-'+copy(Data,1,2);ZQSldAtual.ParambyName('vcodigo').Text := codigo;ZQSldAtual.Active:= true;end;if not(ZQSldAtual.IsEmpty)thenbeginLabelsldatu.Caption := ' ';Labelsldatu.Caption := String(ZQSldAtual['SALDO']);RESULT := 'SALDO ATUAL: '+(Labelsldatu.Caption);endelsebeginRESULT := '';end;end;end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Recife Postado Novembro 26, 2007 Denunciar Share Postado Novembro 26, 2007 PrezadosEstou com erro nesta função abaixo, pfavor alguém poderia me ajudar:São dois forms que estou usando essa função.Seguinte o Erro acontece neste caminho:- Abro o FrmMovimento ciclo no Navigator exibi para o saldo de todos os produtos sem erro funciona muito bem...okEm seguida abro o FrmProdutos ciclo no Navigator deste form ai da o ERRodizendo que Access Violation, e me indica com uma faixa essa linha:With ZQSldAtual do.//----UnitMovimento.pasfunction TFrmMovimento.CalculoSaldoAtual(Data,codigo: string): String;beginif((Data <> '')and(codigo <> '')) thenbeginWith ZQSldAtual dobeginZQSldAtual.Active := false;ZQSldAtual.Sql.clear ;ZQSldAtual.Params.clear;ZQSldAtual.SQL.Add(' select ');ZQSldAtual.SQL.Add(' COALESCE( ( select sum(m.qtdmvt) from mvt m where tipmvt = :vE and m.dtamvt <= :vdata and m.codprd= :vcodigo ) ,0) ');ZQSldAtual.SQL.Add(' - ');ZQSldAtual.SQL.Add(' COALESCE( ( select sum(m.qtdmvt) from mvt m where tipmvt = :vS and m.dtamvt <= :vdata and m.codprd= :vcodigo ) ,0) ');ZQSldAtual.SQl.Add(' AS SALDO ');ZQSldAtual.ParambyName('vE').Value := 'E';ZQSldAtual.ParambyName('vS').Value := 'S';ZQSldAtual.ParambyName('vdata').Value := copy(Data,7,4)+'-'+copy(Data,4,2)+'-'+copy(Data,1,2);ZQSldAtual.ParambyName('vcodigo').Text := codigo;ZQSldAtual.Active:= true;end;if not(ZQSldAtual.IsEmpty)thenbeginLabelsldatu.Caption := ' ';Labelsldatu.Caption := String(ZQSldAtual['SALDO']);RESULT := 'SALDO ATUAL: '+(Labelsldatu.Caption);endelsebeginRESULT := '';end;end;end;teu componente ZQSldAtual esta na mesma unit ou você fez referencia ao data module onde esta o componente, pode ser isto que esta dando access violation. Pois ao cahamar a função o componente não esta criado, ou seja não tem acesso. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Paltrin
Prezados
Estou com erro nesta função abaixo, pfavor alguém poderia me ajudar:
São dois forms que estou usando essa função.
Seguinte o Erro acontece neste caminho:
- Abro o FrmMovimento ciclo no Navigator exibi para o saldo de todos os produtos sem erro funciona muito bem...ok
Em seguida abro o FrmProdutos ciclo no Navigator deste form ai da o ERRo
dizendo que Access Violation, e me indica com uma faixa essa linha:With ZQSldAtual do.
//----UnitMovimento.pas
function TFrmMovimento.CalculoSaldoAtual(Data,codigo: string): String;
begin
if((Data <> '')and(codigo <> '')) then
begin
With ZQSldAtual do
begin
ZQSldAtual.Active := false;
ZQSldAtual.Sql.clear ;
ZQSldAtual.Params.clear;
ZQSldAtual.SQL.Add(' select ');
ZQSldAtual.SQL.Add(' COALESCE( ( select sum(m.qtdmvt) from mvt m where tipmvt = :vE and m.dtamvt <= :vdata and m.codprd= :vcodigo ) ,0) ');
ZQSldAtual.SQL.Add(' - ');
ZQSldAtual.SQL.Add(' COALESCE( ( select sum(m.qtdmvt) from mvt m where tipmvt = :vS and m.dtamvt <= :vdata and m.codprd= :vcodigo ) ,0) ');
ZQSldAtual.SQl.Add(' AS SALDO ');
ZQSldAtual.ParambyName('vE').Value := 'E';
ZQSldAtual.ParambyName('vS').Value := 'S';
ZQSldAtual.ParambyName('vdata').Value := copy(Data,7,4)+'-'+copy(Data,4,2)+'-'+copy(Data,1,2);
ZQSldAtual.ParambyName('vcodigo').Text := codigo;
ZQSldAtual.Active:= true;
end;
if not(ZQSldAtual.IsEmpty)then
begin
Labelsldatu.Caption := ' ';
Labelsldatu.Caption := String(ZQSldAtual['SALDO']);
RESULT := 'SALDO ATUAL: '+(Labelsldatu.Caption);
end
else
begin
RESULT := '';
end;
end;
end;
Link para o comentário
Compartilhar em outros sites
1 resposta 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.