Hallo,
ich habe jetzt ein neues Probelem, was aber damit zu tun hat. Ich bin gerade dabei ein kleines Programm zu schreiben was mir
Paradox 7 Tabellen in eine
Access DB Konvertiert. Der flogende Code funktioniert soweit ganz gut, aber es wird die Tabelle
DB in der Datenbank Kinder.mdb erstellt. Das soll aber anderesrum sein. Also die Tabelle Kinder in der
db.mdb. Ich kann bei mir aber auch keinen Fehler finden. Könnt ihr mir helfen??? Hier ist mein Quellcode:
Delphi-Quellcode:
procedure TFMain.BitBtn1Click(Sender: TObject);
var i : Integer;
// Schleifenvariable
q : TQuery;
// für SQL Anweisungen
j : Integer;
// Schleifenvariable
t : TTable;
// Table
s :
String;
// Daten Typ
begin
if ListBox1.Items.Count = 0
then
begin
ShowMessage('
Bitte füllen Sie erst die Liste mit den Quellen.');
end
else
begin
if Edit1.Text = '
'
then
begin
ShowMessage('
Bitte wählen Sie erst eine Ziel Datenbank aus.');
end
else
begin
for i:=1
to ListBox1.Items.Count
do
begin
q:=TQuery.Create(self);
q.DatabaseName:='
Christian';
q.SQL.Clear;
q.SQL.Add('
Create Table ' + ExtractFileName(ListBox1.Items[ListBox1.ItemIndex]));
q.SQL.Add('
(');
t:=TTable.Create(self);
t.Active:=False;
t.TableName:=ListBox1.Items[ListBox1.ItemIndex];
t.Active:=True;
for j:=0
to t.FieldCount - 1
do
begin
case t.FieldDefList.FieldDefs[j].DataType
of
ftAutoInc : s:='
Counter';
ftString : s:='
Char(' + IntToStr(t.FieldDefList.FieldDefs[j].Size) + '
)';
ftInteger : s:='
Integer';
ftFloat : s:='
Float';
ftMemo : s:='
Memo';
ftDate : s:='
Date';
ftTime : s:='
Date';
ftDateTime : s:='
Date';
end;
if j = t.FieldCount - 1
then
begin
q.SQL.Add(t.FieldDefList.FieldDefs[j].
Name + '
' + s);
end
else
begin
q.SQL.Add(t.FieldDefList.FieldDefs[j].
Name + '
' + s + '
,');
end;
end;
//t.Free;
q.SQL.Add('
)');
Memo1.Clear;
Memo1.Lines.Add(q.SQL.GetText);
q.ExecSQL;
//q.Free;
end;
end;
end;
end;