Hallo zusammen,
zur Anzeige des Datenbankinhaltes benutze ich DBEdit.
Wird auch alles angezeigt.
Will ich aber den Ihnhalt des DBEditfeldes verändern, stelle ich einen Schreibschutz fest.
In den Eigenschaften zum DBEditfeld finde ich aber keine Option das abzustellen.
Es gibt zwar eien Readony Einstellung, aber diese kann ich von false auf true setzen, es ändert sich aber nichts am Verhalten des Feldes im Programm.
Lediglich, wenn ich ein zusätzliches Editfeld aufziehe, in den ich den Ihalt von DBEdit hineinschreibe, kann ich natürlich den Inhalt des Editfeldes ändern und den geänderten Wert an DBEdit zum schreiben an die Datenbank übergeben.
Das funktioniert.
Einfacher wäre es aber, wenn ich direkt den DBEdit-inhalt in der ausgabemaske ändern könnte.
Hat hierzu jemand einen Vorschlag?
mit Gruß
Werner
[gelöst] Kann man DBEdit in der Anzeigemaske editieren?
[gelöst] Kann man DBEdit in der Anzeigemaske editieren?
Zuletzt geändert von wega am Do 2. Feb 2012, 20:01, insgesamt 1-mal geändert.
Re: Kann man DBEdit in der Anzeigemaske editieren?
Hallo zusammen,
wenn der Inhalt der DBEdit aus einer SQL-Abfrage kommt, dann ist der Wert nicht zu editieren.
Kommt der Inhalt jedoch aus einer ganz normalen Dbf-Verknüpfung, dann kann der Wert editiert werden.
Soll der Wert aus einer SQL-Abfrage geändert werden, dann empfiehlt sich folgendes:
Also den Feldwert aus der Datenbankdatei in ein ganz normales TEdit-Feld zu schreiben,
zu editieren und nachher per UPDATE wieder zurückzuschreiben.
Oder gibt es einen einfacheren Weg?
mit Gruß
Werner
wenn der Inhalt der DBEdit aus einer SQL-Abfrage kommt, dann ist der Wert nicht zu editieren.
Kommt der Inhalt jedoch aus einer ganz normalen Dbf-Verknüpfung, dann kann der Wert editiert werden.
Soll der Wert aus einer SQL-Abfrage geändert werden, dann empfiehlt sich folgendes:
Code: Alles auswählen
sqlquery1.Close;
SQLQuery1.SQL.Clear;
sqlQuery1.SQL.Text:= 'SELECT *FROM wz.dbf WHERE [ID] LIKE '+Eintrag;
ODBCConnection1.Connected:= true;
SQLTransaction1.Active:= true;
sqlquery1.Open;
Edit1.Text:=sqlQuery1.Fields[1].AsString;
Edit2.Text:=sqlQuery1.Fields[2].AsString;
Edit3.Text:=sqlQuery1.Fields[3].AsString;
Edit4.Text:=sqlQuery1.Fields[4].AsString;
Edit5.Text:=sqlQuery1.Fields[5].AsString;
Edit6.Text:=sqlQuery1.Fields[5].AsString;
Edit7.Text:=sqlQuery1.Fields[7].AsString;
Edit8.Text:=sqlQuery1.Fields[8].AsString;
Edit9.Text:=sqlQuery1.Fields[9].AsString;
Edit10.Text:=sqlQuery1.Fields[10].AsString;
Edit11.Text:=sqlQuery1.Fields[11].AsString;
zu editieren und nachher per UPDATE wieder zurückzuschreiben.
Oder gibt es einen einfacheren Weg?
mit Gruß
Werner
Zuletzt geändert von Lori am Do 2. Feb 2012, 21:08, insgesamt 1-mal geändert.
Grund: richtiger Highlighter
Grund: richtiger Highlighter
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: [gelöst] Kann man DBEdit in der Anzeigemaske editieren?
Da fehlt warscheinlich nur ein update statement im query ohne das ist das query readonly. Natürlich kann man über tdbedit editieren
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: [gelöst] Kann man DBEdit in der Anzeigemaske editieren?
Danke Christian,
man vergißt immer wieder, wie komfortabel LAZARUS eigentlich ist.
Danke.
mit freundlichem Gruß
Werner
man vergißt immer wieder, wie komfortabel LAZARUS eigentlich ist.
Danke.
mit freundlichem Gruß
Werner