Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi editieren in DBEdit-Feld nich möglich (https://www.delphipraxis.net/102263-editieren-dbedit-feld-nich-moeglich.html)

daredd 25. Okt 2007 19:30


editieren in DBEdit-Feld nich möglich
 
Also ich stelle meine Frage noch mal ganz einfach.
Wieso kann ich nicht im DBEdit-Feld editieren? Readonly ist auf False, Enabled auf True. Woran kanns liegen? Erlaubt es vielleicht die Datenbank nicht?

DeddyH 25. Okt 2007 19:31

Re: editieren in DBEdit-Feld nich möglich
 
Ist die Datenmenge im Editiermodus?

daredd 25. Okt 2007 19:33

Re: editieren in DBEdit-Feld nich möglich
 
was meinst du?
Also ich habe über
Delphi-Quellcode:
dbName.Text := DM.tbKunde.FieldByName('Name').AsString;
daten (also den Namen des Kunden) im Feld drin, wenn ich das Panel mit den DBEdits öffne.
Oder meinste was anderes?

mkinzler 25. Okt 2007 19:34

Re: editieren in DBEdit-Feld nich möglich
 
Er meint die Datenmenge, mit welcher die DBEdits verknüpft sind.

daredd 25. Okt 2007 19:35

Re: editieren in DBEdit-Feld nich möglich
 
wenn ihr mir sagt wo ich das Schauen kann, also mit ner Datenbank ist es verknüpft. Aber die Datenmenge?

mkinzler 25. Okt 2007 19:37

Re: editieren in DBEdit-Feld nich möglich
 
Mit Datenmenge meinte ich ein DataSet (Query, Table, ...)

Hansa 25. Okt 2007 19:40

Re: editieren in DBEdit-Feld nich möglich
 
Wie soll denn das gehen ? DBEdit ist mit Datenbank verknüpft ? :lol: Genau da hängt die Datenmenge dazwischen. AKA TDataSet oder Abkömmling davon. Da weder die verwendete Datenbank noch sonstwas angegeben wurd und dann noch die falsche Sparte :mrgreen: , kann man nicht viel dazu sagen.

daredd 25. Okt 2007 19:51

Re: editieren in DBEdit-Feld nich möglich
 
Also das DBEdits ist sind alle mit der DM.KundenSource verknüpft unter der property DataSource.
Unter DataSet sind Sie verknüpft mit tbKunde (die Tabelle mit den Kundendaten).

DeddyH 25. Okt 2007 19:52

Re: editieren in DBEdit-Feld nich möglich
 
Dann mach mal ein
Delphi-Quellcode:
tbKunde.Edit;
und versuch es dann nochmal.

mkinzler 25. Okt 2007 20:00

Re: editieren in DBEdit-Feld nich möglich
 
Dein Code ist dann aber nicht sehr sinnvoll.

DeddyH 25. Okt 2007 20:02

Re: editieren in DBEdit-Feld nich möglich
 
Welcher Code?

mkinzler 25. Okt 2007 20:04

Re: editieren in DBEdit-Feld nich möglich
 
Ich meine auch daredd

Zitat:

Delphi-Quellcode:
dbName.Text := DM.tbKunde.FieldByName('Name').AsString;

Zitat:

Unter DataSet sind Sie verknüpft mit tbKunde

daredd 25. Okt 2007 20:05

Re: editieren in DBEdit-Feld nich möglich
 
Also hier ist die Source für den Prozess wenn der Button Changep gedrückt wird:

Delphi-Quellcode:
procedure TFormKunden.bbChangePClick(Sender: TObject);
begin
DM.tbKunden.Locate('Ind', qKunden.FieldByName('Ind').AsInteger, []);
DM.tbKunden.Edit;
Panel1.Visible := True;
dbName.Text := DM.tbKunden.FieldByName('Name').AsString; // ein DBEdit
dbFirstName.Text := DM.tbKunden.FieldByName('FirstName').AsString; // ein DBEdit
dbPatName.Text := DM.tbKunden.FieldByName('PatName').AsString; // ein DBEdit
dbAge.Text := DM.tbKunden.FieldByName('Age').AsString; // ein DBEdit
dbAddress.Text := DM.tbKunden.FieldByName('Address').AsString; // ein DBEdit
dbPhone.Text := DM.tbKunden.FieldByName('Phone').AsString; // ein DBEdit
Edit1.Text := DM.tbKunden.FieldByName('Name').AsString; // ein DBEdit
end;
Also mein Panel öffnet sich dann mit den DBEdits wo schon die kunden daten drin stehen. Wenn ich dann egal in welches DBEdit klicke verschwindet zB der Name und ich kann nichts reinschreiben.

daredd 25. Okt 2007 20:05

Re: editieren in DBEdit-Feld nich möglich
 
Ich muss ja sehen was davor für ein Name oder Telefonnummer stand, bevor ich es dann ändere.

mkinzler 25. Okt 2007 20:07

Re: editieren in DBEdit-Feld nich möglich
 
das machen die Edits aber automatisch ohne das du den wert explizit aus sich selber zuweist.

daredd 25. Okt 2007 20:15

Re: editieren in DBEdit-Feld nich möglich
 
Das ist aber merkwürdig das tuen die bei mir aber nicht!
Vielleicht ist das schon ein Schritt näher zur Lösung.... ?

mkinzler 25. Okt 2007 20:20

Re: editieren in DBEdit-Feld nich möglich
 
Ist den die Tabelle geöffnet?
Frag mal ab, ob das Locate funktioniert hat
Delphi-Quellcode:
if DM.tbKunden.Locate('Ind', qKunden.FieldByName('Ind').AsInteger, []) then

daredd 25. Okt 2007 20:32

Re: editieren in DBEdit-Feld nich möglich
 
Also so:
Delphi-Quellcode:
procedure TFormKunden.bbChangePClick(Sender: TObject);
begin
DM.tbKunden.Locate('Ind', qKunden.FieldByName('Ind').AsInteger, []);
if DM.tbKunden.Locate('Ind', qKunden.FieldByName('Ind').AsInteger, [])
then
DM.tbKunden.Edit;
Panel1.Visible := True;
end;
Öffnet er das Panel, das heisst das die Tabelle auf geht. Oder?

mkinzler 25. Okt 2007 20:35

Re: editieren in DBEdit-Feld nich möglich
 
Es fehlt ein begin
Delphi-Quellcode:
then
begin

Hansa 25. Okt 2007 20:39

Re: editieren in DBEdit-Feld nich möglich
 
Sei doch mal kreativ. :shock: :mrgreen: Das bedeutet in diesem Fall : lege ein DBEdit unabhängig von allem anderen auf die Form. Natürlich Datasource, Feld usw. im OI einstellen. Sobald irgendwas darin angezeigt wird, ist das DataSet geöffnet. Wozu wird überhaupt das locate gebraucht ?

mkinzler 25. Okt 2007 20:42

Re: editieren in DBEdit-Feld nich möglich
 
Zitat:

Wozu wird überhaupt das locate gebraucht ?
Das der Datesatz geladen wird, welcher durch einen Query referenziert wird.

daredd 25. Okt 2007 20:50

Re: editieren in DBEdit-Feld nich möglich
 
Ob mit begin oder ohne, er öffnet das Panel. Also scheint das öffnen der Tabelle zu funktionieren.
In einem Anderen stelle habe ich TDBTexte dort werden die Kundendaten angezeigt. Wenn ich nun in das Panel auch ein TDBText einfüge zB dbtName dann zeigt er mir den Namen auch nicht an. Obwohl es an der Anderen stelle funktioniert und die Properties genauso eingestellt sind.

mkinzler 25. Okt 2007 20:52

Re: editieren in DBEdit-Feld nich möglich
 
Stelle mal dein Projekt hier ein.

daredd 25. Okt 2007 21:23

Re: editieren in DBEdit-Feld nich möglich
 
Ha, ich habs! Dummer Fehler ich habe vergessen unter Property DataField das Feld welchem das DBEdit entprechen soll einzustellen.
Nun gehts das die Daten angezeigt werden.

daredd 25. Okt 2007 21:31

Re: editieren in DBEdit-Feld nich möglich
 
Nun doch noch eine Frage.
Wie mach ich es eigentlich das er meine Änderungen im DBEdit übernimmt?

mkinzler 25. Okt 2007 21:32

Re: editieren in DBEdit-Feld nich möglich
 
Delphi-Quellcode:
DataSet.Post;

daredd 25. Okt 2007 21:49

Re: editieren in DBEdit-Feld nich möglich
 
Geht auch Ohne DataSet.Post;
man muss einfach nur die Tabelle einmal refreshen, schließen und wieder öffnen.
Also es funktioniert jetzt alle einwandfrei vielen Dank!!!

mkinzler 25. Okt 2007 21:51

Re: editieren in DBEdit-Feld nich möglich
 
Aber die Post ist doch einfacher. Du beenutzt doch auch die Bremse und machst nicht den Motor aus wenn du kurz anhalten willst.

daredd 25. Okt 2007 22:01

Re: editieren in DBEdit-Feld nich möglich
 
Ok ich machs mal mit Post
:-D

jetzt weiss ich ja wie das geht

daredd 25. Okt 2007 22:05

Re: editieren in DBEdit-Feld nich möglich
 
Ok, ich habe doch noch ein kleines Problem.

Ich habe je zwei Buttons gemacht einen der die neuen Daten übernehmen bzw. alte Daten überschreiben soll, und einen Cancel Button wo keine änderungen vorgenommen werden sollen. Nun wenn ich auf den Cancel Button drücke und dann in eine Andere Form gehe nimmt er die änderung doch mit.
Also der ändert alles sofort beim schreiben ins DBEdit.
Kann man das irgendwie ändern? oder ist das so?

mkinzler 25. Okt 2007 22:06

Re: editieren in DBEdit-Feld nich möglich
 
Delphi-Quellcode:
DataSet.Cancel;
verwirft Änderungen

daredd 25. Okt 2007 22:16

Re: editieren in DBEdit-Feld nich möglich
 
Cool das klappt
Danke!

DP-Maintenance 25. Okt 2007 23:09

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Object-Pascal / Delphi-Language" nach "Datenbanken" verschoben.
Datenbank-Frage


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 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