Convercion error from string

19/04/2013

1

Caros colegas, estou batendo cabeça a dois dias para resolver este erro.
Criei uma plicação em Delphi 7 com banco de dados sql usando o interbase 6.5.
Tenho um formulário que mostra a saida de mercadorias por clientes.
Estou usando o Qreport para formularios, no QuickRep1 do Form tenho:
1º rbPageHeader = Logo da empresa e Titulo do formulário
2ºrbDetail = Código do cliente, Nome, Data da saida, Valor total - ligado ao sql saidaclientes
3ºQRSubDetail1 = Código do produto, decrição, quantidade, valor unidade, valor total - ligado ao sql saidaprodutos
4ºrbSummary = QRExpr - fazer a soma total das saidas - ligado ao sqlclientesvalortotal

No evento BeforePrint do rbDetail coloquei o seguinte comando:
SQLSAIDAPRODUTOS.Active:=True;
SQLSAIDAPRODUTOS.SQL.Clear;
SQLSAIDAPRODUTOS.SQL.Add('select * from saida_prod where sai_cod_cliente='+#39+SQLSAIDACLIENTESCODIGOSAIDA.AsString+#39);
SQLSAIDAPRODUTOS.Active:=True;

Toda vez que chamo o relatório surge o seguinte erro:
Project Estoque.exe raised exception class EIBInterBaseError with message'conversion error from string'

OBS a dois dias atrás estava funcionando normal mostrando todos os cliente e seus produtos, o erro começou depois que eu deletei todos os dados das tabelas pois eu queria entregar o sistema com os registros limpos.

Alguêm poderia me ajudar ? desde ja agradeço
Responder

Posts

19/04/2013

Rafael Cunha

O erro pode ser no momento que você em "SQLSAIDACLIENTESCODIGOSAIDA.AsString" caso o valor desse campo seja null.
Responder

19/04/2013

Jean Carlos

Rafael o valor do campo estar not null
Responder

19/04/2013

Jean Carlos

O erro pode ser no momento que você em "SQLSAIDACLIENTESCODIGOSAIDA.AsString" caso o valor desse campo seja null.



Olá amigo o campo estar como not null
Responder

19/04/2013

Rafael Cunha

Mais sempre que você vai emitir um relatório você seleciona um cliente? Tenta utilizar da seguinte forma.


SQLSAIDACLIENTESCODIGOSAIDA.AsValue; //Não tenho certeza que é assim.. mais retorna uma variant ao invés de string.
Responder

19/04/2013

Joel Rodrigues

Depure para ver exatamente em que linha ocorre.
Responder

19/04/2013

Jean Carlos

Mais sempre que você vai emitir um relatório você seleciona um cliente? Tenta utilizar da seguinte forma.


SQLSAIDACLIENTESCODIGOSAIDA.AsValue; //Não tenho certeza que é assim.. mais retorna uma variant ao invés de string.





Rafael coloquei o seu código e quando vou copilar aparece o seguinte erro:
[Error] UrelSaidaFilial.pas(80): Undeclared identifier: 'AsValue'
Responder

19/04/2013

Jean Carlos

Mais sempre que você vai emitir um relatório você seleciona um cliente? Tenta utilizar da seguinte forma.


SQLSAIDACLIENTESCODIGOSAIDA.AsValue; //Não tenho certeza que é assim.. mais retorna uma variant ao invés de string.





Rafael coloquei o seu código e quando vou copilar aparece o seguinte erro:
[Error] UrelSaidaFilial.pas(80): Undeclared identifier: 'AsValue'


Esqueci de mecionar que este relatório é de todos os clientes da tabela no relatorio sai todos os clientes e os produtos de cada um, foi só eu deletar todos os registros que começou a dar este erro, ja tinha dado este erro antes eu resolvi excluindo o form e seus componentes e criando outro form do zero, mais se toda vez que deletar os registros da tabela ficar assim ai o cliente nao vai gostar rsrs
Responder

19/04/2013

Jean Carlos

Mais sempre que você vai emitir um relatório você seleciona um cliente? Tenta utilizar da seguinte forma.


SQLSAIDACLIENTESCODIGOSAIDA.AsValue; //Não tenho certeza que é assim.. mais retorna uma variant ao invés de string.





Rafael coloquei o seu código e quando vou copilar aparece o seguinte erro:
[Error] UrelSaidaFilial.pas(80): Undeclared identifier: 'AsValue'


Esqueci de mecionar que este relatório é de todos os clientes da tabela no relatorio sai todos os clientes e os produtos de cada um, foi só eu deletar todos os registros que começou a dar este erro, ja tinha dado este erro antes eu resolvi excluindo o form e seus componentes e criando outro form do zero, mais se toda vez que deletar os registros da tabela ficar assim ai o cliente nao vai gostar rsrs



Veja como estar minha tabela de saida produtos:


CREATE TABLE "SAIDA_PROD"
(
"SAI_COD_FILIAL" INTEGER NOT NULL,
"SAI_COD_PRODUTO" INTEGER NOT NULL,
"SAI_VALORPRODUTO" NUMERIC(15, 2) NOT NULL,
"SAI_QUANTIDADE" NUMERIC(8, 2) NOT NULL,
"SAI_VALORTOTAL" NUMERIC(15, 2) NOT NULL,
"SAI_PROD_FORN" INTEGER,
CONSTRAINT "SAIDA_PROD_PK" PRIMARY KEY ("SAI_COD_FILIAL", "SAI_COD_PRODUTO")
);
ALTER TABLE "SAIDA_PROD" ADD CONSTRAINT "SAI_COD_PROD" FOREIGN KEY ("SAI_COD_PRODUTO") REFERENCES ESTOQUES ("ESTCODIGO");

E a minha tabela saida cliente:


CREATE TABLE "SAIDA_FILIAL"
(
"CODIGOSAIDA" INTEGER NOT NULL,
"CODIGOFILIAL" INTEGER NOT NULL,
"DATASAIDA" TIMESTAMP,
"VALORTOTAL" NUMERIC(15, 2),
PRIMARY KEY ("CODIGOSAIDA")
);
ALTER TABLE "SAIDA_FILIAL" ADD CONSTRAINT "SAIDAFILIAL" FOREIGN KEY ("CODIGOSAIDA") REFERENCES FILIAL ("CODIGO");
Responder