![]() |
DBEdit beschreiben nachdem Dataset im insertmode ist
Hallo,
ich möchte beim Aufrufen meines Datasets in den Insert-Modus einen Wert in den dazugehörigen DBEdit-Feldern vorgeben. Leider Klappt das nicht, wenn ich das in das Before- oder Afteredit Ereignis schreibe. Dann werden diese Werte leider durch leere Werte eines neu anzulegenden Records gelöscht. Ich möchte ja nun Werte in die Editfelder eintragen sobald ein neuer Datensatz angelegt wird, so zu sagen als Eingabehilfe. Der Benutzer soll nur die noch offenen Felder ergänzen. Wie kann ich die Felder beschreiben nachdem ich in den Insert-Modus wechsle, ohne dass die Eingabe wieder gelöscht werden? Danke und Gruß, Barnti |
Re: DBEdit beschreiben nachdem Dataset im insertmode ist
Pack es in's Afterinsert.
|
Re: DBEdit beschreiben nachdem Dataset im insertmode ist
Hi Memo,
das hatte ich vergessen zu erwähnen: das ist das selbe Problem. Denn die DBEdit-Felder werden erst nach dem Öffnen des Datasets im insert mode beschrieben, d.h. auch das Afterinsert-event überschreibt meine Eintragungen in den DBEditfeldern. Trotzdem danke! Noch andere Ideen? Gruß, Barnti |
Re: DBEdit beschreiben nachdem Dataset im insertmode ist
Zitat:
Und welche Datenbank benutzt du? |
Re: DBEdit beschreiben nachdem Dataset im insertmode ist
Hallo Barnti,
dann verwende doch keine DBEdit- sondern "normale" Edit-Felder. Zusätzlich einen Button auf's Formular (Einfügen). Im OnClick-Ereignis des Buttons schreibst Du dann folgendes:
Delphi-Quellcode:
In der OH steht hierfür auch noch ein Beispiel.
Table1.Append;
Table1Feld1.AsString := Edit1.Text; . . . Table1.Post; |
Re: DBEdit beschreiben nachdem Dataset im insertmode ist
Hi,
na ich versuchs mal :) : Ich öffne mein Dataset im Insertmode, so dass ein neuer Datensatz angelegt wird. Dabei sollen die vorhandenen DBEdit-Felder schon mit vorgegebenen Werten versehen werden. Soll heißen, wenn ich ein neuen Auftrag zu einen Kunden anlege, soll in einem der Editfelder zu dem Record 'Vertrag' schon der Kundenname eingetragen sein. Die anderen Einträge können dann per Hand nachgetragen werden. Ich möchte auch auf jeden Fall ein DBEdit-Feld benutzen und KEINE DBLookUpComboBox. Ich hoffe jetzt wird es etwas verständlicher?! Gruß, Barnti P.S. Ich arbeite mit mySQL 4 |
Re: DBEdit beschreiben nachdem Dataset im insertmode ist
Hi,
@ r_kerber: Das ist sicherlich eine Möglichkeit, die ich bedenken werde. Aber schöner wäre es, wenn es sich mit den DBEdit-Feldern bewerkstelligen ließe... Gruß, Barnti |
Re: DBEdit beschreiben nachdem Dataset im insertmode ist
Zitat:
|
Re: DBEdit beschreiben nachdem Dataset im insertmode ist
Zitat:
Code:
steht, frag ich mich, wer dein DBEditfeld wieder leert? Normal sollten die Daten drin stehen. Verheimlichst du uns noch was anderes? :roll:
DBEdit1.Text := 'ABC'
@r_kerber Warum würdest du es nicht empfehlen? |
Re: DBEdit beschreiben nachdem Dataset im insertmode ist
Zitat:
Außerdem sollte man Änderungen von Daten auf DB-Servern auch nicht über TTable(oder TQuery).Edit(Append) durchführen, sondern unter Verwendung von SQL-Befehlen (INSERT, UPDATE). |
Re: DBEdit beschreiben nachdem Dataset im insertmode ist
Hallo,
ich verwende mySQLDAC und überall DBEdits. Auch mit Transaktionen kein Problem. Ich öffne jeden zu editierenden Datensatz mit einer Sperre. Zum eigentlichen Problem: Ich verwende nun an den entsprechenden Stellen einfache Editfelder und füge beim BeforePost die entsprechenden Daten in mein neues Record ein. Das klappt. Danke erst einmal. Gruß, Barnti |
Re: DBEdit beschreiben nachdem Dataset im insertmode ist
Das liegt daran, dass du wahrscheinlich die dbedit's mit dbedit.text := 'Dein Wert' übergibts. Du musst das natürlich in deiner neuen Query machen - also:
myquery.append; myquery.fieldbyname('feldname').asstring := 'Dein Wert'; die dbedits zeigen ja nur den Inhalt deiner Abfrage an. |
Re: DBEdit beschreiben nachdem Dataset im insertmode ist
Das korrekte Ereignis zur Vorbelegung von Feldern ist übrigens TDataset.OnNewRecord().
Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:36 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