Einzelnen Beitrag anzeigen

Das S

Registriert seit: 1. Feb 2004
36 Beiträge
 
#1

dbgrid createn -> fehler beim löschen eines datensatzes

  Alt 21. Okt 2004, 07:50
Hi ich habe hier ein Problem mit dem folgenden Quellcode:

Code:
public
    { Public-Deklarationen }

  adoabfrageinfo:Tadoquery;
  adoquelleinfo:Tdatasource;
  info:Tcxtabsheet;
  cdname,cdnummer:string;
  popupinfo:Tpopupmenu;
  infoeintragloeschen:Tmenuitem;
  detail:Tpagecontrol;
  procedure Eintragloeschen(Sender: TObject);

...

procedure Tuebersicht.Eintragloeschen(Sender: Tobject);
begin
if messagedlg('Sind Sie sicher, daß Sie den gewählten Eintrag löschen möchten ?',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
adoabfrageinfo.Delete;
end;
end;

...

//Beim Klicken auf einen Button passiert folgendes
adoabfrageinfo:=Tadoquery.Create(self);
with adoabfrageinfo do
begin
connection:=start.dbconnect;
end;
{Datenbankabfrage Info wurde erstellt}

adoquelleinfo:=Tdatasource.Create(self);
with adoquelleinfo do
begin
dataset:=adoabfrageinfo;
end;

...

//SQL-Abfrage für info
adoabfrageinfo.Active:=false;
adoabfrageinfo.SQL.Clear;
adoabfrageinfo.sql.Add('select * from info where nummer='+quotedstr(adoabfrage.fieldbyname('nummer').AsString));
adoabfrageinfo.Active:=true;
Jetzt wird ein Popupmenu createt deren Item folgenden Code hat:

Code:
infoeintragloeschen.OnClick:=eintragloeschen;
Da jedesmal bei Klick auf dem Button ein Tabsheet und ein DbGrid dynamisch erzeugt wird, wirde auch der o.g. Code jedesmal "durchlaufen". Es funktioniert auch so weit. Nun jetzt aber meine Frage

Ich erstelle dynamisch zwei Tabsheets mit zwei dbgrids. Wenn ich dann einen Datensatz des ersten Grids löschen möchte, löscht er mir immer den Datensatzes des zweitens dbgrids. Woran kannn das liegen ?

Vielen Dank

Das S
  Mit Zitat antworten Zitat