![]() |
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? |
Re: editieren in DBEdit-Feld nich möglich
Ist die Datenmenge im Editiermodus?
|
Re: editieren in DBEdit-Feld nich möglich
was meinst du?
Also ich habe über
Delphi-Quellcode:
daten (also den Namen des Kunden) im Feld drin, wenn ich das Panel mit den DBEdits öffne.
dbName.Text := DM.tbKunde.FieldByName('Name').AsString;
Oder meinste was anderes? |
Re: editieren in DBEdit-Feld nich möglich
Er meint die Datenmenge, mit welcher die DBEdits verknüpft sind.
|
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?
|
Re: editieren in DBEdit-Feld nich möglich
Mit Datenmenge meinte ich ein DataSet (Query, Table, ...)
|
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.
|
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). |
Re: editieren in DBEdit-Feld nich möglich
Dann mach mal ein
Delphi-Quellcode:
und versuch es dann nochmal.
tbKunde.Edit;
|
Re: editieren in DBEdit-Feld nich möglich
Dein Code ist dann aber nicht sehr sinnvoll.
|
Re: editieren in DBEdit-Feld nich möglich
Welcher Code?
|
Re: editieren in DBEdit-Feld nich möglich
Ich meine auch daredd
Zitat:
Zitat:
|
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:
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.
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; |
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.
|
Re: editieren in DBEdit-Feld nich möglich
das machen die Edits aber automatisch ohne das du den wert explizit aus sich selber zuweist.
|
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.... ? |
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
|
Re: editieren in DBEdit-Feld nich möglich
Also so:
Delphi-Quellcode:
Öffnet er das Panel, das heisst das die Tabelle auf geht. Oder?
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; |
Re: editieren in DBEdit-Feld nich möglich
Es fehlt ein begin
Delphi-Quellcode:
then
begin |
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 ?
|
Re: editieren in DBEdit-Feld nich möglich
Zitat:
|
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. |
Re: editieren in DBEdit-Feld nich möglich
Stelle mal dein Projekt hier ein.
|
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. |
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? |
Re: editieren in DBEdit-Feld nich möglich
Delphi-Quellcode:
DataSet.Post;
|
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!!! |
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.
|
Re: editieren in DBEdit-Feld nich möglich
Ok ich machs mal mit Post
:-D jetzt weiss ich ja wie das geht |
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? |
Re: editieren in DBEdit-Feld nich möglich
Delphi-Quellcode:
verwirft Änderungen
DataSet.Cancel;
|
Re: editieren in DBEdit-Feld nich möglich
Cool das klappt
Danke! |
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