Fórum Erro ao gerar relatorio no quick report usando embarcadeiro #399715

25/04/2011

0

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



Américo Grespan...,,,

Américo Grespan...,,,

Responder

Posts

26/04/2011

André Silveira

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;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar