Zitat von
mr.floppy81:
also bei den dbeditfeldern stehen :höhe, breite, tiefe, bezeichnung1, bezeichnung2.
diese werte werden aus der datenbank übernommen.
wenn nun jemand einen artikel eingeben will, der nicht in der datenbank hinterlegt ist, eingeben möchte, soll er dafür die vereits vorhandenen dbeditfelder nutzen können...
und die werte die in den dbeditfeldern stehen, sollen später für berechnungen und ganz viel später dann für eine Druckausgabe herhalten
das sollte eigentlich der grund sein diese editfelder zu nutzen, mehr will ich damit nicht anstellen
Sehe ich das richtig: Du möchtest die DBEdit felder
entweder dazu benutzen, Daten aus der
DB anzuzeigen
oder den Benutzer manuell Daten eingeben zu lassen; diese eingegebenen Daten sollen
nicht in die
DB eingetragen werden, sondern dienen nur zur Weiterverarbeitung in Deinem Programm (Druckausgabe etc.)?
Wenn das so ist, kannst Du eigentlich nicht so herangehen, wie Du es getan hast, sondern es gibt zwei Möglichkeiten:
a) Du benutzt unabhängige Controls (DBEdit und Edit) für die verschiedenen Zwecke. Diese könntest Du ja auch je nach Programmzustand sichtbar und unsichtbar machen.
b) (m.E. besser): Du benutzt gar keine DBEdits, da Du ja genau die Funktionalität, die sie eigentlich bieten – nämlich den live-Kontakt zur
DB –, nicht nutzen möchtest. Besser wäre es, nur Edits zu benutzen und diese "manuell", d.h. von Deinem Programm füllen zu lassen, also z.B. im OnChange der Lookup-Komponente etwas wie
Code:
Edit1.Text := table1.Feld1.AsText;
Edit2.Text := table1.Feld2.AsText
usw.
Hoffe das hilft
Urs
P.S.
Du kannst die Farben des Edits nicht in Abhängigkeit von einer Eigenschaft wie readonly ändern. Aber Du kannst in dem Moment, in dem sich der Zustand ändert (z.B. Button "manuelle Eingabe") die Farben von Hand ändern. Sollte kein Problem sein.