Fórum Invalid Variant type Conversion #181219
10/09/2003
0
Colegas...
Tenho num sistema 01 cadastro de entrada de produtos onde digito os produtos num DBgrid clico num botão e entro com esses produtos no meu cadastro de produtos com a seguinte sintaxe abaixo:
[b:5c55ed9ad8]procedure TFrmEntraProd.btEntraClick(Sender: TObject);
Var conta,item:Integer;
begin
if(rbB.Checked = true)then
begin
QProd.Open;
conta:=0;
item:=QProd.RecordCount;
QProd.First;
if (QProd.RecordCount <>0)then
if Application.MessageBox(´Deseja Realmente entrar com estes produtos em seu estoque?´,´Produtos´,MB_YESNO+MB_ICONQUESTION)=ID_YES then
begin
While not DMDados.tbEntraProd.Eof do
if tbProd.Locate(´Codigo´,QProdCodProd.Value,[LoPartialKey])then
begin
gauge.Progress:=conta;
tbProd.edit;
QProd.edit;
tbProdSaldo.Value:=tbProd.FieldByName(´Saldo´).Value + QProd.FieldByName(´Qtde´).Value;
tbProdEntra.Value:=tbProd.FieldByName(´Entra´).Value + QProd.FieldByName(´Qtde´).Value;
QProdBaixou.Value:=´S´;
tbProd.Post;
QProd.Post;
gauge.Progress:=conta+1*100;
QProd.Next;
DMDados.tbEntraProd.Refresh;
end;
ShowMessage(´Foi alterado em seu estoque ´+IntToStr(item)+´ Produtos!!´);
gauge.Progress:=0;
end;
end;
end;[/b:5c55ed9ad8]
Todos os produtos funciona blz, mas o cujo código e 358H me dá o seguinte erro: INVALID VARIANT TYPE CONVERSION. Com o produto cujo
código e 358A,128 etc não dá este erro somente com o 358H dá o erro.
to achando este erro meio doido pois tá saindo da lógica.
alguem teria uma luz?
Grato : Jose Luiz
Tenho num sistema 01 cadastro de entrada de produtos onde digito os produtos num DBgrid clico num botão e entro com esses produtos no meu cadastro de produtos com a seguinte sintaxe abaixo:
[b:5c55ed9ad8]procedure TFrmEntraProd.btEntraClick(Sender: TObject);
Var conta,item:Integer;
begin
if(rbB.Checked = true)then
begin
QProd.Open;
conta:=0;
item:=QProd.RecordCount;
QProd.First;
if (QProd.RecordCount <>0)then
if Application.MessageBox(´Deseja Realmente entrar com estes produtos em seu estoque?´,´Produtos´,MB_YESNO+MB_ICONQUESTION)=ID_YES then
begin
While not DMDados.tbEntraProd.Eof do
if tbProd.Locate(´Codigo´,QProdCodProd.Value,[LoPartialKey])then
begin
gauge.Progress:=conta;
tbProd.edit;
QProd.edit;
tbProdSaldo.Value:=tbProd.FieldByName(´Saldo´).Value + QProd.FieldByName(´Qtde´).Value;
tbProdEntra.Value:=tbProd.FieldByName(´Entra´).Value + QProd.FieldByName(´Qtde´).Value;
QProdBaixou.Value:=´S´;
tbProd.Post;
QProd.Post;
gauge.Progress:=conta+1*100;
QProd.Next;
DMDados.tbEntraProd.Refresh;
end;
ShowMessage(´Foi alterado em seu estoque ´+IntToStr(item)+´ Produtos!!´);
gauge.Progress:=0;
end;
end;
end;[/b:5c55ed9ad8]
Todos os produtos funciona blz, mas o cujo código e 358H me dá o seguinte erro: INVALID VARIANT TYPE CONVERSION. Com o produto cujo
código e 358A,128 etc não dá este erro somente com o 358H dá o erro.
to achando este erro meio doido pois tá saindo da lógica.
alguem teria uma luz?
Grato : Jose Luiz
Jose Luiz
Curtir tópico
+ 0
Responder
Posts
10/09/2003
Marconi
Antes de fazer contas com os valores dos campos verifique se eles não estão vazios.
exemplo
[b:874db14961]if tbProd.FieldByName(´Entra´).Value<>null then [/b:874db14961]
tbProdEntra.Value:=tbProd.FieldByName(´Entra´).Value + QProd.FieldByName(´Qtde´).Value;
Veje na sua tabela se no registro do tal produto um dos campos não está vazio. (null). Porque costuma dar esse erro.
Marconi
exemplo
[b:874db14961]if tbProd.FieldByName(´Entra´).Value<>null then [/b:874db14961]
tbProdEntra.Value:=tbProd.FieldByName(´Entra´).Value + QProd.FieldByName(´Qtde´).Value;
Veje na sua tabela se no registro do tal produto um dos campos não está vazio. (null). Porque costuma dar esse erro.
Marconi
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)