Fórum DBGrid QuickReport = Dúvida #317713
29/03/2006
0
espero nao ser discriminado por isso! :wink:
aki vai a minha duvida e as informaçoes addicionais
[b:852a692f60]Informaçoes: [/b:852a692f60]
Delphi: 7.0
Banco: Paradox
Componentes de ligação: DataBase, Table, DS
Relatorio: QuickRep
[b:852a692f60]Duvida:[/b:852a692f60]
Amigos, meu cliente quer selecionar, de alguma maneira, os registros a serem impressos. Eu optei pelo DBgrid, pois tem a opção MULTISELECT lá mas poderia ser de autra maneira, component etc.
Eu li VARIOS topicos aki que chegam proximo do q eu quero mas esse proximo infelismente noa me adiantou muito(programação é EXATO ne, fazer o q ! rsrs).
Continuando... tava eu pensando aki , mas e a conecção no QuickRep ONDE entra esse codigo ´dizendo´ que tem q ser impresso SOMENTE OS SELECIONADOS ??
acho q essa seria minha questão princi´pal... nao sei como dizer pra imprimir SOMENTE OS SELECIONADOS lá no relatorio...
Obrigado pela atenção amigos !
Abrasss :wink: :wink: :wink:
Pantoja
Curtir tópico
+ 0Posts
29/03/2006
Ermindo
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
ADOQuery1CODIGO: TIntegerField;
ADOQuery1NOME: TStringField;
DBGrid1: TDBGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
s: widestring;
begin
s:= ´´;
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
if trim(s) = ´´ then
s:=´ (codigo = ´+ADOQuery1.fieldbyname(´codigo´).asstring+´) ´
else
s:=s+´ or (codigo = ´+ADOQuery1.fieldbyname(´codigo´).asstring+´) ´;
end;
ADOQuery1.Filtered:=false;
ADOQuery1.Filter:=s;
ADOQuery1.Filtered:=true;
end;
end.
apos filtrado os campos q seu cliente selecionou, vc pode dar um preview.
Gostei + 0
29/03/2006
Pantoja
amigo... obrigado pela boa vontade de ajudar ....
eu achei codigos parecidos na busca... mas e justamente essa minha dificuldade... nao sei pegar essa ideia q esta usando e adaptala nos meus componentes...
ADO uso TABLE
nem uso QUERY
entaum nao saberia fazer...
será q nao da entuam... com os componetes q uso + o quick report?
pow se nao der me avisem logo q tento mudar meu pensamento..s ei lá...
o f.... é o cliente no meu ouvido de meia em meia hora...
abrassss
Gostei + 0
29/03/2006
Ermindo
tire o AdoQuery1......... e coleque Table1..........
Gostei + 0
29/03/2006
Pantoja
squei o q fez...
qdo eu filtrar estará so os q o cliente selecionou na GRID !
booaaaaaa
vo testar e te dou o feedback amigo...
sem querer te explorar amigo... se tiver um codigo na manga ai q pegue esses registros FILTRADOS e passe prum .TXT
acredito ser trankilo, mas nao tenho conhecimento para faze-lo!
abrassss
Gostei + 0
29/03/2006
Ermindo
procedure TForm1.Button1Click(Sender: TObject); var f: textfile; begin table1.first; assignfile(f, ´c:\qq_coisa.txt´); rewrite(f); while not table1.eof do begin // aqui vc monta o layout do seu TXT com o WriteLn writeln(f,table1.fieldbyname(´codigo´).asstring); table1.next; end; closefile(f); end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)