Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Felder einer Tabelle in einer mdb-Datenbank ändern (https://www.delphipraxis.net/18747-felder-einer-tabelle-einer-mdb-datenbank-aendern.html)

torud 24. Mär 2004 09:30


Felder einer Tabelle in einer mdb-Datenbank ändern
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz