Einzelnen Beitrag anzeigen

rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
301 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: MainMenü+combobox in dbgrid öffnen

  Alt 25. Jan 2017, 15:52
Hallo Justin,

da hat Du noch einiges vor Dir

Hier mal ein überarbeiteter Code, der wirklich läuft:

Delphi-Quellcode:
procedure TForm2.erra1Click(Sender: TObject);
var
   tab:TMenuItem;
   i:integer;
   y:Integer;
begin
   MainMenu1.items.Clear;               // alle Menüeinträge weg
   combobox1.items.Clear;               // Combobox leer

   ADOConnection1.connected   :=true;   // Datenbankverbindung öffenen (vielleicht noch prüfen, obs geklappt hat?)

//   ADOtable1.active:=true;               // das setzt auch die ADOConnection mit der Du verbunden hast auf true
//   ADOConnection2.connected:=false;
//   ADOConnection3.connected:=false;

   // hier verwendest Du eine Query ...
   ADOQuery1.Connection         :=ADOconnection1;   // wie sieht denn der SQL aus? Benutzt Du die eigentlich? ist hier erst mal überflüssig!

   // Tabelle vorbereiten
   ADOTable1.Connection       := ADOConnection1;
   DataSource1.DataSet          := ADOTable1;
   // Grid vorbereiten
   DBGrid1.DataSource          := DataSource1;
   // und nun werden die Daten im Grid angezeigt
   ADOTable1.Open;

// den folgenden Teil verstehe ich garnicht

//   if ADOconnection1.Connected=true then
//      ADOconnection1.GetTableNames(combobox1.Items,false);
//   y:=combobox1.Items.count;
//   for i := 0 to y-1 do begin
//    tab:=TMenuItem.create(MainMenu1);
//      MainMenu1.items[2].add(tab);
//      tab.caption:=combobox1.items[i];
//      tab.tag:=i;
//      tab.OnClick:=erra1click;            // Rekursion?
//   end;

end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   // Programm Ende:
   // Tabelle schließen
   ADOTable1.Close;
   // falls benutzt auch Query schließen
   ADOQuery1.Close;
   // Datenbank abhängen
   ADOConnection1.Connected      := false;
end;
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney
  Mit Zitat antworten Zitat