Hallo Leute,
vielleicht könte mir jemand mit dem folgenden Problem helfen.
Ich habe zwei MS
Access DatenBanken (
Access 2000-Dateiformat), eine alte und eine neue. Ich möchte aus der neue die fehlende Felder auslesen und in die alte
DB einfügen. Dafür mache ich eine Schleife durch die Felder, prüfe, welche es nicht gibt, lese ihre Namen, Datentyp UND DEFAULTWERT aus usw.
Das alles funktioniert prima, nur das die DefaultExpression komischerweise immer leer bleibt... als ob da nichts steht, aber da stehen die Werte.
Hier ein Stück Code:
SQLdatentype := FieldTypeToSQLType(Data.DB.FieldTypeNames[RefQuery.Fields[x].DataType]);
if SQLdatentype <> '' then
begin
SQLText := 'ALTER TABLE alteTabelle ADD '+ RefQuery.Fields[x].FieldName + ' ' + SQLdatentype;
if SQLdatentype = 'VARCHAR' then
SQLText := SQLText + '(' + RefQuery.Fields[x].Size.ToString + ')';
if RefQuery.Fields[x].DefaultExpression <> '' then // immer leer
SQLText := SQLText + ' DEFAULT ' + RefQuery.Fields[x].DefaultExpression;
Der Weg mit DBQuery.Fields.Add(NewField) habe ich auch schon versucht, er spuckt keine Fehler, aber die
DB bekommt keine neue Felder.