![]() |
Datenbank: Access • Zugriff über: ADO / Jet
Daten satz aus Access DB löschen... Howto???
Hallo!
Nachdem ich mein Programm jetzt auf ADO und Access umgebaut habe, bin ich auf folgendes Problem gestossen: Ich habe eine Tabelle in einer Access DB, und wähle mittels DBNavigator den zu löschenden Datensatz aus. (RecordX) Nun versuche ich verzweifelt, mittels Click auf Button 1, diesen Datensatz zu löschen. hier derCode:
Delphi-Quellcode:
Bei der Ausführung bekomme ich dann die Fehlermeldung:
procedure TForm11.Button2Click(Sender: TObject);
begin adotable1.Close; adotable1.Open; adotable1.edit; adotable1.RecNo:=recordX; adotable1.Delete; adotable1.Post; adotable1.Close; adotable1.Open; label13.Caption:=inttostr(Adotable1.RecordCount); end; ADOTable1 not in Edit Mode. Hat da jemand mal einen Tip für mich?? Danke! Jochen |
Re: Daten satz aus Access DB löschen... Howto???
Zitat:
Moin, moin, Du wilst gleichzeitig editieren, löschen und speichern, siehe unten. Dein Debugger dürfte in der Zeile mit dem "Post" stehengeblieben sein. Ich würde immer ein SQL- Statement al la delete from tabelle where bedingung vorziehen. Gruß Malte
Delphi-Quellcode:
procedure TForm11.Button2Click(Sender: TObject);
begin adotable1.Close; adotable1.Open; // adotable1.edit; adotable1.RecNo:=recordX; adotable1.Delete; // adotable1.Post; adotable1.Close; adotable1.Open; label13.Caption:=inttostr(Adotable1.RecordCount); end; |
Re: Daten satz aus Access DB löschen... Howto???
danke für den Tip, ich habe die Änderungen nach Deinem Vorschlag durchgeführt, aber nun bekomme ich eine neue Fehlermeldung:
sinngemäß: Die Schlüsselspalteninformationen sind ungenügend oder inkorrekt. Es sind zu viele Zeilen von der Aktualisierung betroffen. Was will mir das sagen?? SQL Statements möchte ich nur ungern verwenden, da meine Programm nur ein kleines Minimalteil sein soll. Danke, Jochen |
Re: Daten satz aus Access DB löschen... Howto???
Sind bei Dir alle Datensätze eindeutig identifizierbar? Ist ein Primärschlüssel vorhanden? Ist ein ID Feld sicher nicht zweimal vergeben (z.B leer ist etc.)?
|
Re: Daten satz aus Access DB löschen... Howto???
da bin ich mir jetzt nicht so sicher...
Wie kann ich das prüfen? Ich denke, mir fehlt sowas komplett. Ich erzeuge meine Records bisher einfach über
Delphi-Quellcode:
und wähle die datensätze zur Weiterverarbeitung mittels DBNavigator aus.
ADOtable1.AppendRecord...
Dieser Teil funktioniert bisher prima. Wie kann ich das anpassen? Auch der Button Delete Record (nbDelete) des Navigators bringt den gleichen Fehler... Danke, jochen |
Re: Daten satz aus Access DB löschen... Howto???
probier mal einfach nur in der betreffenden Access Tabelle ein Feld "ID" einzufügen und dieses mit Autowert zu befüllen (du kannst es auch zusätzlich als Primärschlüssel deklarieren)
Damit ist für SQL gewährleistet, dass es keinen einzigen Datensatz in der Tabelle gibt der alle Felder gleich hat. Um dieses Feld brauchst du dich auch nicht weiter zu kümmern. Bei mir hat das geholfen. |
Re: Daten satz aus Access DB löschen... Howto???
Hallo
Ist es nur eine Tabelle oder sind eventuell die Relationen für Dein Problem verantwortlich? Dann könnte der Datensatz nicht gelöscht werden, da noch Daten an ihm hängen. Gruss |
Re: Daten satz aus Access DB löschen... Howto???
Seltsame Dinge gehen hier vor sich... :gruebel:
Ich habe eben die Löschfunktion für die zweite Tabelle der Datenbank wie oben dargestellt gecodet, nichtserwartend auf "Play" gedrückt, und siehe da: :shock: it works :!: keine Ahnung was das soll... ... aber ich werde mich nicht beklagen, wenns tut :-D Vielen Dank für Eure Hilfe! Ich melde mich, wenns nicht mehr funktioniert :zwinker: ! Jochen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 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-2025 by Thomas Breitkreuz