Autor Beitrag
Mandi Nice
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29

Win2K, XP, CE
Delphi 2006 Prof.
BeitragVerfasst: Di 14.07.09 07:58 
Hallöchen

Kurz und Bündig meine Anforderung :
z.B.: Im Datenbankfeld steht nur 1,2,3 oder 4 .
Im DBEdit soll aber Aus, Niedrig, Mittel, Hoch stehen .
Wie kann ich das automatisch "übersetzen" lassen ?

Oder eine DBComboBox. Im Datenbankfeld steht nur der Index des DropDown der ComboBox ( Itemindex )

Danke Euch.

hmg
Mandi
Krischa
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 118

Windows 7 64 Bit
Delphi 2007
BeitragVerfasst: Di 14.07.09 08:03 
Hi,
automatisch? Es reicht doch den Wert auszulesen und mit einer Case-Anweisung das Edit-Feld zu befüllen. Einfacher kenne ich das nicht.
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Di 14.07.09 08:07 
Steht der Text in der Datenbank?

_________________
Markus Kinzler.
ene
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Di 14.07.09 08:09 
Oder eine separate Tabelle draus machen, 1-4 mit der Bezeichnung hinterlegen und den Text anzeigen und die Zahl zurückgeben. Anstatt des Case könnte man auch ein Array draus machen und mittels arr[zahl] drauf zugreifen.

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 764
Erhaltene Danke: 127



BeitragVerfasst: Di 14.07.09 08:23 
Du brauchst (als eine mögliche Lösung) eine DBLookupComboBox. In einer zweiten Tabelle stehen dann die Werte (Aus, ...) mit den Zahlen als Index. Die Verknüpfung erfolgt über diesen Index und die Zahlen in der ersten Tabelle.

ub60
tif
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46
Erhaltene Danke: 1

Winxxx
TP, BP, Delphi 1 - 2009
BeitragVerfasst: Di 14.07.09 13:17 
Hallo,

ich hab' mir dafür mal eine "TDBHotKeyComboBox" gemacht (fragt mich jetzt nicht, wie ich auf diesen Namen kam):

Wie eine DBCombobox, aber statt dem Auswahlwert der (Combo-)Liste wird der Listenindex in der DB - gespeichert.
Du erfasst die Items
* nicht gesetzt *
Aus
Niedrig
Mittel
Hoch

und die Box liefert die Datenbindung von 0(=nicht gesetzt) bis 4(=Hoch)

Bitte ggf. anpassen; sorry, ich kann aus Zeitgründen keinen Support leisten
Einloggen, um Attachments anzusehen!
ffgorcky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 573

WIN XP/2000 & 7Prof (Familie:Win95,Win98)

BeitragVerfasst: Di 14.07.09 13:55 
Das müsste doch eigentlich ganz einfach mit einer case..of-Abfrage gehen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
case CurrDatenbankfeldWert of
1: DBEDIT.Text:='Aus';
2: DBEDIT.Text:='Niedrig';
3: DBEDIT.Text:='Mittel';
4: DBEDIT.Text:='Hoch';
end//der Case-Abfrage

Wobei ich leider auf diesem (Datenbank-)Gebiet noch nicht wieder so die Erfahrungen habe.
Aber zumindest so ähnlich müsste es zu lösen sein.