Bonjour

j'utilise ADOX pour creer une base de donnée .mdb. J'arrive a creer la base de données, creer les tables et les champs.
J'utilise le code ci-dessous:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
try
                {
                /// Creation du MDB
                ADOX.CatalogClass cat = new CatalogClass();
                string str = "provider=Microsoft.Jet.OleDb.4.0;Data Source=" + pathDB;
                cat.Create(str);
 
                /// Creation des Tables
                ADOX.Table table1 = new ADOX.Table();
                table1.Name = "Region";
                table1.Columns.Append("RegionID", ADOX.DataTypeEnum.adInteger, 20);
                table1.Columns[0].ParentCatalog = cat;
                table1.Columns[0].Properties["AutoIncrement"].Value = true;
                table1.Columns.Append("RegionName", ADOX.DataTypeEnum.adVarWChar, 20);
                table1.Keys.Append("RegionID", ADOX.KeyTypeEnum.adKeyPrimary, "RegionID", "Region", "RegionID");
                cat.Tables.Append(table1);
 
                ADOX.Table table2 = new ADOX.Table();
                table2.Name = "Client";
                table2.Columns.Append("ClientID", ADOX.DataTypeEnum.adInteger, 20);
                table2.Columns[0].ParentCatalog = cat;
                table2.Columns[0].Properties["AutoIncrement"].Value = true;
                table2.Columns.Append("ClientNumber", ADOX.DataTypeEnum.adVarWChar, 20);
                table2.Columns.Append("RegionID", ADOX.DataTypeEnum.adVarWChar, 20);
                table2.Columns.Append("ClientAdress", ADOX.DataTypeEnum.adVarWChar, 20);
                table2.Columns.Append("ClientInfo", ADOX.DataTypeEnum.adVarWChar, 20);
                table2.Columns.Append("ClientPath", ADOX.DataTypeEnum.adVarWChar, 20);
                table2.Keys.Append("ClientID", ADOX.KeyTypeEnum.adKeyPrimary, "ClientID", "Client", "ClientID");
                cat.Tables.Append(table2);
 
                ADOX.Table table3 = new ADOX.Table();
                table3.Name = "Contact";
                table3.Columns.Append("ContactID", ADOX.DataTypeEnum.adInteger, 20);
                table3.Columns[0].ParentCatalog = cat;
                table3.Columns[0].Properties["AutoIncrement"].Value = true;
                table3.Columns.Append("ClientID", ADOX.DataTypeEnum.adVarWChar, 20);
                table3.Columns.Append("ContactNom", ADOX.DataTypeEnum.adVarWChar, 20);
                table3.Columns.Append("ContactPrenom", ADOX.DataTypeEnum.adVarWChar, 20);
                table3.Columns.Append("ContactTitre", ADOX.DataTypeEnum.adVarWChar, 20);
                table3.Columns.Append("ContactTel", ADOX.DataTypeEnum.adVarWChar, 20);
                table3.Columns.Append("ContactPort", ADOX.DataTypeEnum.adVarWChar, 20);
                table3.Columns.Append("ContactMail", ADOX.DataTypeEnum.adVarWChar, 20);
                table3.Columns.Append("ContactInfo", ADOX.DataTypeEnum.adVarWChar, 20);
                table3.Keys.Append("ContactID", ADOX.KeyTypeEnum.adKeyPrimary, "ContactID", "Contact", "ContactID");
                cat.Tables.Append(table3);
 
 
                ADOX.Table table4 = new ADOX.Table();
                table4.Name = "Activite";
                table4.Columns.Append("ActiviteID", ADOX.DataTypeEnum.adInteger, 20);
                table4.Columns[0].ParentCatalog = cat;
                table4.Columns[0].Properties["AutoIncrement"].Value = true;
                table4.Columns.Append("ClientID", ADOX.DataTypeEnum.adVarWChar, 20);
                table4.Columns.Append("ActiviteSystem", ADOX.DataTypeEnum.adVarWChar, 20);
                table4.Columns.Append("ActiviteParam", ADOX.DataTypeEnum.adVarWChar, 20);
                table4.Columns.Append("ActiviteInfo", ADOX.DataTypeEnum.adVarWChar, 20);
                table4.Keys.Append("ActiviteID", ADOX.KeyTypeEnum.adKeyPrimary, "ActiviteID", "Activite", "ActiviteID");
                cat.Tables.Append(table4);
 
                /// Creation des relations
                ......
 
 
 
                cat = null;           
                }
                catch
                {
                    MessageBox.Show("Erreur dans la creation de la base");
                }
Par contre je seche complétement sur la creation des relations entre les tables....

qu'un peu m'éclairer? Par exemple le veux lier le champ "RegionID" de ma table "Region" vers le champ "RegionID" de la table "Client" en 1-n.

Merci de vos lumières, à cette heure j'en ai besoin