acess violation ????
pessoall estou com este problema quando clico num botao e chama um relatorio feirto no quic report. impressao de etiquetas.
procedure TFrmAniversariante.BitBtn2Click(Sender: TObject);
const
SeparadorCampoValor = ´ ´;
SeparadorCampo = ´ ´; { Quebra de linha }
SeparadorRegistro = ´;´;
VAR
sqlstr:string ;
begin
try
{comando para filtrar a tabela por data de nacimento}
sqlstr:=´select * from clientes ´;
sqlstr:=sqlstr+ ´ where extract(month from dt_nasc) between ´;
sqlstr:=sqlstr+ trim(inttostr(SpinIni.value)) +´ and ´+ trim(inttostr(SpinFim.value));
sqlstr:=sqlstr+´ order by dt_nasc asc´ ;
QRLpac.SQLfilter.Close; <---- access violation o que pode ser ????
QRLpac.SQLfilter.SQL.Clear;
QRLpac.SQLfilter.sql.Add(sqlstr);
QRLpac.SQLfilter.Open;
QRLpac.SQLfilter.Active:=true;
QRLpac.Preview;
except
//strfilter:=´erro´;
end;
end;
nao consigo imprimir as minhas etiquetas......
procedure TFrmAniversariante.BitBtn2Click(Sender: TObject);
const
SeparadorCampoValor = ´ ´;
SeparadorCampo = ´ ´; { Quebra de linha }
SeparadorRegistro = ´;´;
VAR
sqlstr:string ;
begin
try
{comando para filtrar a tabela por data de nacimento}
sqlstr:=´select * from clientes ´;
sqlstr:=sqlstr+ ´ where extract(month from dt_nasc) between ´;
sqlstr:=sqlstr+ trim(inttostr(SpinIni.value)) +´ and ´+ trim(inttostr(SpinFim.value));
sqlstr:=sqlstr+´ order by dt_nasc asc´ ;
QRLpac.SQLfilter.Close; <---- access violation o que pode ser ????
QRLpac.SQLfilter.SQL.Clear;
QRLpac.SQLfilter.sql.Add(sqlstr);
QRLpac.SQLfilter.Open;
QRLpac.SQLfilter.Active:=true;
QRLpac.Preview;
except
//strfilter:=´erro´;
end;
end;
nao consigo imprimir as minhas etiquetas......
Pereiramarcos
Curtidas 0
Respostas
Pereiramarcos
31/05/2006
consegui, agora ele nao executa esta query
sqlstr:=´select * from clientes ´;
sqlstr:=sqlstr+ ´ where extract(month from dt_nasc) between ´;
sqlstr:=sqlstr+ trim(inttostr(SpinIni.value)) +´ and ´+ trim(inttostr(SpinFim.value));
sqlstr:=sqlstr+´ order by dt_nasc asc´ ;
ele so executa a query original que esta no sqlquery
o que eu tenho que fazer???????
sqlstr:=´select * from clientes ´;
sqlstr:=sqlstr+ ´ where extract(month from dt_nasc) between ´;
sqlstr:=sqlstr+ trim(inttostr(SpinIni.value)) +´ and ´+ trim(inttostr(SpinFim.value));
sqlstr:=sqlstr+´ order by dt_nasc asc´ ;
ele so executa a query original que esta no sqlquery
o que eu tenho que fazer???????
GOSTEI 0
Rjun
31/05/2006
Coloque um trecho maior do seu código. Está dando algum erro ou ele só não executa a query?
GOSTEI 0
Pereiramarcos
31/05/2006
valeu rogerio, eu agora ja executo a query, mas o filtro do report so faz uma vez todas as vezes posteriores imprime somente o que foi selecionado na primeira vez....
valeu cara
valeu cara
GOSTEI 0
Rjun
31/05/2006
Olha, vendo seu código não percebi nada de errado, a não ser o fato de você dar um Open e depois definir True para Active. Dei uma modificada para usar parâmetros em vez de enfiar o SQL dentro do seu código.
procedure TFrmAniversariante.BitBtn2Click(Sender: TObject);
const
SeparadorCampoValor = ´ ´;
SeparadorCampo = ´ ´; { Quebra de linha }
SeparadorRegistro = ´;´;
ComandoSQL = ´SELECT * FROM Clientes WHERE EXTRACT(MONTH FROM Dt_Nasc) BETWEEN :Inicial AND :Final ORDER BY Dt_Nasc ASC´;
begin
{ comando para filtrar a tabela por data de nacimento }
QRLpac.SQLfilter.SQL.Clear;
QRLpac.SQLfilter.sql.Add(ComandoSQL );
QRLPac.ParamByName(´Inicial´).AsInteger := spinIni.Value;
QRLPac.ParamByName(´Final´).AsInteger := spinFim.Value;
QRLpac.SQLfilter.Open;
try
QRLpac.Preview;
finally
QRLPac.SQLFilter.Close;
end;
end;
GOSTEI 0
Pereiramarcos
31/05/2006
Obirgado Rogerio, mas agora nao apareceu nem um registro.
deixa eu explicar uma coisa
QRLpac - Nome do form com o relatorio
SQLfilter - nome do SQLQuery
dentro deste form --> um trio SQLQuery;DATAsetprov e um Clientdataset
e dentro do form que eu chamo tem aquele codigo, ja estou ficando confuso....
deixa eu explicar uma coisa
QRLpac - Nome do form com o relatorio
SQLfilter - nome do SQLQuery
dentro deste form --> um trio SQLQuery;DATAsetprov e um Clientdataset
e dentro do form que eu chamo tem aquele codigo, ja estou ficando confuso....
GOSTEI 0
Pereiramarcos
31/05/2006
Olha, vendo seu código não percebi nada de errado, a não ser o fato de você dar um Open e depois definir True para Active. Dei uma modificada para usar parâmetros em vez de enfiar o SQL dentro do seu código.
procedure TFrmAniversariante.BitBtn2Click(Sender: TObject);
const
SeparadorCampoValor = ´ ´;
SeparadorCampo = ´ ´; { Quebra de linha }
SeparadorRegistro = ´;´;
ComandoSQL = ´SELECT * FROM Clientes WHERE EXTRACT(MONTH FROM Dt_Nasc) BETWEEN :Inicial AND :Final ORDER BY Dt_Nasc ASC´;
begin
{ comando para filtrar a tabela por data de nacimento }
QRLpac.SQLfilter.SQL.Clear;
QRLpac.SQLfilter.sql.Add(ComandoSQL );
QRLPac.ParamByName(´Inicial´).AsInteger := spinIni.Value;
QRLPac.ParamByName(´Final´).AsInteger := spinFim.Value;
QRLpac.SQLfilter.Open;
try
QRLpac.Preview;
finally
QRLPac.SQLFilter.Close;
end;
end;
somente apos a colocacao destas duas linha
QRLpac.cdsAniver.Active:=false ;
QRLpac.QSQLAniver.Close ;
agora funciona exatamente como eu queria.....
posso emitir rel de etiquetas com o filtro que eu quiser...
Value muito obrigado pelas dica seu codigo ficou mais organizado....
:P
GOSTEI 0