Hallo Leute,
ich habe die Postings in diesem Forum aufmerksam gelesen und
NICHTS finden können, was mein Problem lösen könnte. Also eine mdb zu erzeugen und dann darin Tabellen mit verschiedenen Feldern zu creieren ist kein Problem.
Nun möchte ich den Spies umdrehen und die mdb einlesen, die Tabellen in eine Listbox schreiben und dann bei einem Klick darauf die darin enthaltenen Felder in eine andere Listbox schreiben. Das alles habe ich schon hinbekommen.
Aber: leider habe ich noch keine Möglichkeit gefunden mit der ich dann bei einem Klick auf eines der Felder die aktuellen Feldeigenschaften auslesen und in Edit´s schreiben kann. Zur Zeit mache ich folgendes:
Code:
procedure TForm2.list_fieldsClick(Sender: TObject);
var
idx, idx_col,i:integer;
aColumn : _Column;
aCatalog : _Catalog;
aTable : _Table;
begin
idx:=list_fields.itemindex;
if list_fields.ItemIndex > -1 then
begin
//ed_description.Text :=ADOTable1.Properties;
ShowMessage(ADOTable1.Fields.FieldByNumber(idx).AsString);
aCatalog := CoCatalog.Create;
aColumn := CoColumn.Create;
aTable := CoTable.Create;
aTable.Name:=ADOTable1.TableName;
idx_col:=aTable.Columns.Count;
ShowMessage(inttostr(idx_col));
if idx_col > -1 then
begin
for i:= 0 to idx_col -1 do
begin
if aTable.Columns[i].Name = list_fields.Items.Strings[idx] then
aColumn:=aTable.Columns[i];
with aColumn do
begin
ed_fieldname.Text:=Name;
ed_fieldsize.Text:=inttostr(definedSize);
ed_description.Text:=Properties['Description'].Value
//Type_ := adVarWChar;
//Properties['Nullable'].Value := True;
end;
end;
end;
end;
end;
Ich weiß, es ist alles etwas chaotisch bei mir, aber es kann ja eigentlich kein Allzu grosser Fehler sein, den ich hier begehe oder doch? Also diese Routine wird ausgelöst, wenn ich auf ein Feld in der Listbox klicke.
Vielen Dank für Mitüberlegeungen und Tipps
Tom