Les deux Tforms peuvent t-ils être complice?

Leader2000 Messages postés 184 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 28 août 2015 - 25 févr. 2008 à 16:53
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 26 févr. 2008 à 00:18
Salut!

J'ai deux Tform: Tform1 et Tform2
A partir du Tform1 j'ai un Tbutton1 qui permet de me connecter au Tform2 dans lequel j'ai un état d'impression.
Naturellement, j'utilise les codes suivants si mon état d'impression est sur le même Tform (Tform1):

Procedure.....OnClick...
MonEtat.Preview;
end;

ça marche bien!
Curieusement, quand j'écris les codes suivants. Rien ne marche.
Ma cible est de me voire me connecter au Tfom2 en montrant directement la previsualisation à partir d'un click sur un bouton de mon Tform1. D'ailleurs dans lequel j'écris ceci:

Procedure...OnClick...
AdoTable1.filter:='Nom'= +quotedstr(edit1.text);
AdoTable1.Filtered:= True;
end;
Tform2.AdoTable1;
MonEtat.Preview;
end;
 
En un mot, je ne veux plus avoir des états d'impression dans mon Tform1. Je voudrai juste avoir mes Tbuton, Combobox, etc sur mon Tform1...Et, mes états d'impression sur d'autres Tform.

Merci,

Leader2000

6 réponses

HAFTARIFOUAD Messages postés 256 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 6 janvier 2011
25 févr. 2008 à 18:12
Bonjour Monsieur Leade2000 ;-)

Utilisez TDataModul et placer vos TadoTable..., Aprés faites une liaison vers chaque formes (Form1 et form2) je pense que vs règlera le problème.
0
HAFTARIFOUAD Messages postés 256 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 6 janvier 2011
25 févr. 2008 à 18:15
et voila un petit exemple






Procedure...OnClick...
begin
DataModul.AdoTable1.filter:='Nom'= +quotedstr(edit1.text);
AdoTable1.Filtered:= True;
end;
_________________________
Procedure...OnClick...
begin
//Tform2.AdoTable1  // Supprimer cette commande
MonEtat.Preview;
end;








Bonne chance et bonne programmation

haftari.fouad
0
Leader2000 Messages postés 184 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 28 août 2015
25 févr. 2008 à 18:51
@Haftari
Merci d'avoir dit un mot dans ce sujet. Mais seulement je n'ai pas eu de réponse à ma preoccupation. Juste un "joli" conseil sur les "DataModul"...:)

Developper est une dimension pour moi.
Leader2000
0
HAFTARIFOUAD Messages postés 256 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 6 janvier 2011
25 févr. 2008 à 20:55
Salut Mr ;-)

comme je vs i dit, vous pouvez placer vos TTables ou AdoTable... sur un  TTDataModul:
cette opération vous permettrez de:
1-ouvrire la base de donénes une seule fois (Table.Open)
2- vs n'aurez pas besoin de mettre dans chak TForm un TTable et un TdataSource ou...
3-vs n'aurez pas besoin d'utilisez (Table.Refresh)
4- on peut considérer un TdataModul comme distributeur d'information dans le projet ...CADire; dans TForm1 je me positionne sur le numéro d'enregistrement N° 10, grace à ce (Si tes TForms sont liées à un TdataModul) on obtient le même positionnement.


5- et d'autres je peux pas les citer tous.



haftari.fouad
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HAFTARIFOUAD Messages postés 256 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 6 janvier 2011
25 févr. 2008 à 21:00
je sais pas si j'ai bien compris votre question, l'essentiel Utilisez un TDataModul, placez vos TAdoTables sur le TDataModul, faites la liaison entre le TDataModul et les TForm.

donc si vs positionner sur un enregistrement qlqonk vs le trouver sur tt les TForms

Je pense que j'été claire bonne chance et plein de succès.

haftari.fouad
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
26 févr. 2008 à 00:18
Y a pas comme un hic dans ton code ?
Procedure...OnClick...
AdoTable1.filter:='Nom'= +quotedstr(edit1.text);
AdoTable1.Filtered:= True;
end;
Tform2.AdoTable1;
MonEtat.Preview;
end;

Même si la réponse de haftarifouad est un peu à côté de la question je pense, le conseil qu'il donne est tout à fait valable. En séparant la gestion des données de l'interface, on y gagne en clarté et en facilité de maintenance.

May Delphi be with you !
<hr color="#008000" />Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
Rejoignez-nous