1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
...
Uses
IniFiles, // Pour THashedStringList
Variants, // Pour les variants
ComObj; // Pour Objet automation
...
procedure faitunschemaAdoDeAccess();
var
Ctlg : Variant;
liste, liste1 : THashedStringlist;
i, j : integer;
begin
Ctlg : = CreateOleObject('ADOX.CATALOG');
Ctlg.ActiveConnection := ProviderString+
'Data Source='+
Adatabase+';';// La base doit impérativement existée
Liste := THashedStringLIst.create;
liste1 := THashedStringLIst.create;
for i := 0 to Ctlg.Tables.Count-1 do
begin
Liste.Add(Ctlg.Tables[i].Name); // toutes les tables sont dans la liste
Liste1.Add(Ctlg.Tables[i].Name);
for j:= 0 to Ctlg.Tables[Liste.ValueFromIndex[i]].Columns.count-1
Liste1.add(Ctlg.Tables[Liste.ValueFromIndex[i]].Columns[j].name); // tous les noms de champs sont dans liste1
end;
Liste.free;
Liste1.free;
Ctlg := NULL;
end; |