![]() |
Problem beim Schreiben in eine Paradox-DB
Hallo,
ich erstelle in meinem Programm eine Paradox7-Tabelle zur Laufzeit bzw. ich lade eine vorhandene. Nun möchte ich in ein Feld mit dem Namen 'Befehl' etwas hineinschreiben per Code, allerdings hab ich schon viel probiert und bekomme es einfach nicht hin ....
Delphi-Quellcode:
Das Tauschen der ersten zwei Zeilen hat auch nichts genutzt.
tblCode.Active := False;
tblCode.First; tblCode.FieldByName('Befehl').AsString := '123'; tblCode.Active := True; Entweder kommt: "Die Operation darf nicht auf eine geschlossene Tabelle angewandt werden" oder "Feld nicht gefunden 'Befehl'" obwohl es eindeutig existiert ... ich blicke einfach nicht da durch :( Ich möchte in der ersten Zeile in die Spalte "Befehl" einfach etwas hineinschreiben, dann in die nächste Zeile gehen und dort weitermachen. Aber wenn schon das Schreiben nicht funktioniert, dann weiß ich auch nicht weiter. Vorher hatte ich es mit einem anderen Feld probiert und das hat er auch gefunden, allerdings hat da mein Schreiben obwohl kein Fehler kam überhaupt nichts bewirkt ... Hoffe, ihr könnt mir da helfen ;) Gruß Johannes |
Re: Problem beim Schreiben in eine Paradox-DB
Hallo,
Die Table, auf die Du schreiben willst muß aktiv. Deine Procedure könnte dann so aussehen
Code:
So solltest Du deine Daten in der DB speichern.
Table.Active:= true;
Tabele.Edit; //Tabelle in Edit Mudus setzen um sie zu bearbeiten Table.Append; //um einen neuen Datensatz anzulegen Table.FieldByName('Feld').AsString:= '123'; Table.post; //um die Bearbeitung zu beenden und den DS zu speichern |
Re: Problem beim Schreiben in eine Paradox-DB
Hallo Johannes,
dein fehler liegt daran das du in eine geschlossene Tabelle schreiben willst. versuche es mal so:
Delphi-Quellcode:
raik
Table1.open; // öffnen der tabelle
Table1.first; // den ersten datensatz zum aktiven machen Table1.fieldbyname('befehl').asstring:= '123'; table1.next; // nächster datensatz zum aktiven machen Table1.fieldbyName('befehl').asstring:= '456'; tabel1.post; // speichern der änderungen table1.close; // schliessen der tabelle |
Re: Problem beim Schreiben in eine Paradox-DB
Danke für die Tipps ;) Es klappt :D
|
Re: Problem beim Schreiben in eine Paradox-DB
Ich würde dieses aber nicht über die Table Kompos umsetzen sondern mit der Query Kompo, dies ist wesentlich flexibler.
Auf dein Muster umgesetzt könnte es so aussehen:
Code:
Die Änderungen werden aber erst nach dem schließen und erneuten öffnen der Query sichtbar.
With Query Do
Begin Close; //Query schliessen SQL.clear; //Query löschen SQL.ADD('select * From DB'); //Query mit Daten füllen Open; //Query öffnen First; //zum ersten DS springen Edit; //zum bearbeiten des Datensatzes Append; // um neuen DS anzulegen; FieldBYName('Feld').AsString:= '123'; Next; //nächsten DS wählen FieldByName('Feld').AsString:= '1234'; Post; //speichern end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:17 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