Hallo,
so müsste es funktionieren:
Delphi-Quellcode:
...
vColName:='KdnName';
// ab hier geht's los...
aColumn:=CoColumn.Create;
with aColumn do
begin
ParentCatalog:=aCatalog;
Name:=vColName;
Type:=adVarWChar;
DefinedSize:=30;
// folgende Anweisungen sind nicht unbedingt nötig...
Properties['Discription'].Value:='Name des Kunden';
Properties['Default'].Value:='';
Properties['Jet OLEDB:Allow Zero Length'].Value:=True; // <-- erlaubt Null-Werte
end; // with
aTable.Columns.Append(aColumn, 0, 0);
...
// und zum Schluß Tabelle hinzufügen
aCatalog.Tables.Append(aTable);
Kurz zur Erklärung:
ADOX erwartet, dass für jede Spalte der Tabelle eine eigene Column-Objektinstanz erzeugt, konfiguriert und der Columns-Kollektion des Table-Objekts hinzugefügt wird. Erst wenn das erledigt ist, wird das konfigurierte Table-Objekt über die Methode Append zu der Tables-Kollektion des Catalog-Objekt hinzugefügt.