Clone de um IB_Query. Como q eu faco isso?
26/08/2004
0
Ae,
To precisando do seguinte.
Tenho uma query em um form, e todos os outros forms da aplicacao usam essa query.
O problema eh q a minha aplicacao eh MDI, e quando abro mais de um form numa unica vez, qq scroll que eu der em um DataSource (ds.DataSet.next, por exemplo) ele vai mexer em tds os forms abertos.
E EU NÃO QUERO COLOCAR A MSMA QUERY EM KDA FORM!!!
pq senaum a manutencao fica impossivel.
Minha primeira ideia pra se fazer isso foi o seguinte:
Crio uma variavel do tipo TIB_Query.
Digo que essa variaval vai ser IDENTICA à query q eu uso.
Digo que o dataset dos meus datasources vai ser essa query.
Ateh ai td bem.
Mas... como eu faco isso? Jah tentei de varias maneiras.
(assimindo q a variavel chama-se q)
q := IB_Query1.Create(Self);
---
q := TIB_Query.Create(IB_Query1;
---
q := IB_Query1;
---
Mas de todas essas formas, da no mesmo problema... eu do scroll em uma tela, e altera todas.
Eu quero apenas clonar... soh isso.. essa variavel vai ser apenas igual ao IB_Query1... e naum a propria IB_Query1!!!
Valeuzz!
To precisando do seguinte.
Tenho uma query em um form, e todos os outros forms da aplicacao usam essa query.
O problema eh q a minha aplicacao eh MDI, e quando abro mais de um form numa unica vez, qq scroll que eu der em um DataSource (ds.DataSet.next, por exemplo) ele vai mexer em tds os forms abertos.
E EU NÃO QUERO COLOCAR A MSMA QUERY EM KDA FORM!!!
pq senaum a manutencao fica impossivel.
Minha primeira ideia pra se fazer isso foi o seguinte:
Crio uma variavel do tipo TIB_Query.
Digo que essa variaval vai ser IDENTICA à query q eu uso.
Digo que o dataset dos meus datasources vai ser essa query.
Ateh ai td bem.
Mas... como eu faco isso? Jah tentei de varias maneiras.
(assimindo q a variavel chama-se q)
q := IB_Query1.Create(Self);
---
q := TIB_Query.Create(IB_Query1;
---
q := IB_Query1;
---
Mas de todas essas formas, da no mesmo problema... eu do scroll em uma tela, e altera todas.
Eu quero apenas clonar... soh isso.. essa variavel vai ser apenas igual ao IB_Query1... e naum a propria IB_Query1!!!
Valeuzz!
_chiappone_
Curtir tópico
+ 0
Responder
Posts
26/08/2004
Thomaz_prg
Bom, primeiro crie uma variavel do tipo TIBQuery.
Supondo que form1 seja o form principal onde está a sua ibquery principal e q uma variavel criada com o tipo citado acima.
Então, no OnShow do Form (Não do principal), coloque :
Bom, e no OnClose, faça:
Espero que lhe ajude.
Supondo que form1 seja o form principal onde está a sua ibquery principal e q uma variavel criada com o tipo citado acima.
Então, no OnShow do Form (Não do principal), coloque :
q:=TIBQuery.Create(self); q.DataBase := Form1.IBquery1.DataBase; q.Transaction := form1.IBQuery1.Transaction; with q do begin Close; SQL.Text := form1.IBQuery1.SQL.Text; Open; end; DataSource1.DataSet := q;
Bom, e no OnClose, faça:
DataSource1.DataSet := NIL; q2.Free;
Espero que lhe ajude.
Responder
Clique aqui para fazer login e interagir na Comunidade :)