En este ejemplo vamos a crear un par de campos de tipo String, una clave primaria y un campo de tipo entero y Autonumérico (Autoincremental) para probar las propiedades de ADOX:
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 | var Catalog : _Catalog; Table : _Table; BaseName : String; DS : String; col : _Column; key : _Key; begin // Nombre de la Base de Datos BaseName := 'C:\Temp\MiBaseDatos.mdb'; // Create a Catalog Object Catalog := CreateCOMObject(StringToGUID('ADOX.Catalog')) as _Catalog; // Set the Connection String DS := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+BaseName; // Check if we already have such a file and delete it if FileExists(BaseName) Then begin DeleteFile(BaseName); end; // Create new Access database Catalog.Create(DS); // Create a Table Object Table := CreateCOMObject(StringToGUID('ADOX.Table')) as _Table; // Set the name of a table Table.Name := 'MiTabla'; // Append Table into the base Catalog.Tables.Append(Table); // Now add two columns (fields) into the table // Both are Text fields up to 128 characters Table.Columns.Append('Nombre', adVarWChar, 128); Table.Columns.Append('Apellido', adVarWChar, 128); // Creamos el objeto columna para el autoIncremental col := CoColumn.Create; // BD a la que pertenece col.ParentCatalog := Catalog; col.Name := 'Auntoincremental'; // Tipo del campo col.Type_ := adInteger; // Asignamos que es un AutoIncremental col.Properties['AutoIncrement'].Value := True; // Añadimos la columna Table.Columns.Append(col, adInteger, col.DefinedSize); // Columna para la clave primaria col := CoColumn.Create; // BD a la que pertenece col.ParentCatalog := Catalog; col.Name := 'ClavePrimaria'; col.Type_ := adInteger; // Añadirla Table.Columns.Append(col, adInteger, col.DefinedSize); // Creamos la clave primaria Key := CoKey.Create; Key.Name := 'ClavePrimaria'; Key.Type_ := adKeyPrimary; // Columna que forma parte de la PK Key.Columns.Append('ClavePrimaria', adInteger, 0 ); // Añadirla a la tabla Table.Keys.Append(Key, 0, EmptyParam, Unassigned, Unassigned); |
Primero se crea la tabla, posteriormente se crean los objetos columna (coColumn) y se modifican sus propiedades, para finalmente añadirlo a la tabla. Finalmente se crea el objeto coKey para definir la clave primaria, se añade la columna que la compone y este objeto se añade también a la tabla creada.




