Erro ao gerar relatorio no quick report usando embarcadeiro
COMPOMENTES USADOS
Base ....: Sql Server 2005
Conexão..: ADO
cadastro.: ADOTable1 e DataSource1
Para Gerar o Relatorio..: ADOQuery1 e Datasource1
LINHA DE CODIGO USADA ATE O MOMENTO...
Var VarSQL ,Vordem , VOS1 , VOS2 :String; begin VarSQL := 'SELECT * FROM Tb_OrdServicos Order By Codigo';
Vordem := Frm_Cha_Rel_OS.Combobox1.Text;
VOS1 := Frm_Cha_Rel_OS.Maskedit1.text;
VOS2 := Frm_Cha_Rel_OS.MaskEdit2.Text;
//========================================
VarSQL := 'SELECT * FROM Tb_OrdServicos WHERE Codigo >="';
VarSQL := VarSQL+VOS1+'" AND Codigo <="';
VarSQL := VarSQL+VOS2+'" ORDER BY '+ vOrdem; //====================================================
Frm_Cha_Rel_OS.Sql_OS.Close;
Frm_Cha_Rel_OS.Sql_OS.clear;
Frm_Cha_Rel_OS.Sql_OS.SQL.add(VarSQL);
Frm_Cha_Rel_OS.Sql_OS.Open;
//=====FORMA DE IMMPRESSAO
if RadioGroup1.ItemIndex = 0 then // Imprime Direto
Begin
Frm_Rel_OS001 := Tfrm_Rel_OS001.Create(Self);
Frm_Rel_OS001.QuickRep1.Print;
end;
if RadioGroup1.ItemIndex = 1 then // Excel
Begin
ShowMessage('Rotina em Desenvolmento');
end;
if RadioGroup1.ItemIndex = 3 then // Vidio
Begin
Frm_Rel_OS001 := Tfrm_Rel_OS001.Create(Self);
Frm_Rel_OS001.QuickRep1.Preview;
end;
if RadioGroup1.ItemIndex = 3 then // PDF
Begin
end;
ShowMessage('Rotina em Desenvolmento');
end;
===================================
Quando executo no showmessage aparece
SELECT * FROM Tb_Envio_patric WHERE Patrimonio =>"000000" And Patrimonio <= "999999" ORDER BY ADMNISTRATIVO
erro
NOME DA COLUNA '000000' invalido
Base ....: Sql Server 2005
Conexão..: ADO
cadastro.: ADOTable1 e DataSource1
Para Gerar o Relatorio..: ADOQuery1 e Datasource1
LINHA DE CODIGO USADA ATE O MOMENTO...
Var VarSQL ,Vordem , VOS1 , VOS2 :String; begin VarSQL := 'SELECT * FROM Tb_OrdServicos Order By Codigo';
Vordem := Frm_Cha_Rel_OS.Combobox1.Text;
VOS1 := Frm_Cha_Rel_OS.Maskedit1.text;
VOS2 := Frm_Cha_Rel_OS.MaskEdit2.Text;
//========================================
VarSQL := 'SELECT * FROM Tb_OrdServicos WHERE Codigo >="';
VarSQL := VarSQL+VOS1+'" AND Codigo <="';
VarSQL := VarSQL+VOS2+'" ORDER BY '+ vOrdem; //====================================================
Frm_Cha_Rel_OS.Sql_OS.Close;
Frm_Cha_Rel_OS.Sql_OS.clear;
Frm_Cha_Rel_OS.Sql_OS.SQL.add(VarSQL);
Frm_Cha_Rel_OS.Sql_OS.Open;
//=====FORMA DE IMMPRESSAO
if RadioGroup1.ItemIndex = 0 then // Imprime Direto
Begin
Frm_Rel_OS001 := Tfrm_Rel_OS001.Create(Self);
Frm_Rel_OS001.QuickRep1.Print;
end;
if RadioGroup1.ItemIndex = 1 then // Excel
Begin
ShowMessage('Rotina em Desenvolmento');
end;
if RadioGroup1.ItemIndex = 3 then // Vidio
Begin
Frm_Rel_OS001 := Tfrm_Rel_OS001.Create(Self);
Frm_Rel_OS001.QuickRep1.Preview;
end;
if RadioGroup1.ItemIndex = 3 then // PDF
Begin
end;
ShowMessage('Rotina em Desenvolmento');
end;
===================================
Quando executo no showmessage aparece
SELECT * FROM Tb_Envio_patric WHERE Patrimonio =>"000000" And Patrimonio <= "999999" ORDER BY ADMNISTRATIVO
erro
NOME DA COLUNA '000000' invalido
Américo Grespan...,,,
Curtidas 0
Respostas
André Silveira
25/04/2011
SELECT * FROM Tb_Envio_patric WHERE Patrimonio =>"000000" And Patrimonio <= "999999" ORDER BY ADMNISTRATIVO
Note que o "000000" está com aspas duplas, assim ele acha que o que está depois do primeiro conjunto de aspas é um nome de campo, por isso do erro.
Se o campo for numérico, retire as aspas duplas.
VarSQL := 'SELECT * FROM Tb_OrdServicos WHERE Codigo >=';
VarSQL := VarSQL+VOS1+' AND Codigo <=';
VarSQL := VarSQL+VOS2+' ORDER BY '+ vOrdem;
Note que o "000000" está com aspas duplas, assim ele acha que o que está depois do primeiro conjunto de aspas é um nome de campo, por isso do erro.
Se o campo for numérico, retire as aspas duplas.
VarSQL := 'SELECT * FROM Tb_OrdServicos WHERE Codigo >=';
VarSQL := VarSQL+VOS1+' AND Codigo <=';
VarSQL := VarSQL+VOS2+' ORDER BY '+ vOrdem;
GOSTEI 0