DBGrid QuickReport = Dúvida

29/03/2006

0

Sei que estou trabalhando num banco ultrapassado com lgaçoes tb de mesma forma ultrapassados, mas cada um de nos temos limitaçoes tecnicas e a minha vai ate aqui...

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:


[quote:852a692f60=´Moderação´][b:852a692f60][color=blue:852a692f60]Título do tópico editado por Vinicius2K:[/color:852a692f60][/b:852a692f60]
[b:852a692f60][color=red:852a692f60][list:852a692f60][*:852a692f60]Título inteiramente em maiúsculas: ´DBGRID + QUICKREPORT = DUVIDA´.
[*:852a692f60]O tópico só não foi bloqueado em respeito ao colega que postou uma resposta.[/list:u:852a692f60][/color:852a692f60][/b:852a692f60]
Peço que leia atentamente as [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] e se algum esclarecimento sobre o funcionamento do fórum ou sobre as Regras de Conduta for necessário, envie-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=2796]Mensagem Particular[/url].[/quote:852a692f60]


Pantoja

Pantoja

Responder

Posts

29/03/2006

Ermindo

caro colega, vou te dar uma direção para q vc resolva seu problema.

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.


Responder

29/03/2006

Pantoja

gostaria de pedir desculpas a MODERAÇÃO pelo titulo !




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


Responder

29/03/2006

Ermindo

colega, em vez do adoquery, use o table q funciona.

tire o AdoQuery1......... e coleque Table1..........


Responder

29/03/2006

Pantoja

amigo... fico extremamente grato...

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


Responder

29/03/2006

Ermindo

tipo, depois de filtrado, voce pode fazer o seguinte:

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;



Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar