Bonjour,
j'ai une table nommée t_article , pour l'ouvrir : t_article.active:=true;
supposons que je veux ouvrir cette table par le biais d'une variable : var,
var:='t_article';
....var.active:=true;
Merci d'avance.
Version imprimable
Bonjour,
j'ai une table nommée t_article , pour l'ouvrir : t_article.active:=true;
supposons que je veux ouvrir cette table par le biais d'une variable : var,
var:='t_article';
....var.active:=true;
Merci d'avance.
On pourrait jouer avec FindComponent si le Owner des TOUS les TTable est le même DataModule
C'est une question tellement étrange qui revient souvent chez les débutants !
Je dirais qu'une seule chose sur cette bidouille : A NE PAS FAIRE !Code:(DataModule.FindComponent('t_article') as TDataSet).Open();
je te propose à la place une allocation dynamique d'une instance de classe !
Tu maitrises normalement cela avec la TStringList, c'est le truc typique du débutant !
Pour un TTable c'est presque pareil
Evidement pas de mode Exclusive sinon cela ne fonctionne pas !Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 var Table := TTable; begin Table := TTable.Create(); try Table.DataBaseName := ... quelque part ton objet TDataBase du BDE ou TSQLConnection si DBX ou TADOConnection si ADO ... Table.TableName := 't_article'; Table.Open(); bla bla bla Table.Close(); finally Table.Free(); end; end;
Je te laisse voir aussi comment gérer cela pour une durée de vie plus longue, en utilisant des property et un code structuré POO
:oops: