PDA

Vollständige Version anzeigen : DefaultValue für Kombibox


achtelpetit
23.02.2008, 18:45
Nachdem das eine Problemchen gelöst ist, wer kommt denn da? Das nächste. Herzlich Willkommen.
Laut meinem schlauen Buch sollte ich den Default-Wert für ein Feld ganz einfach setzen können.
Me!cbo_Kombibox.DefaultValue = "'" & Me!cbo_Kombibox "'"
wobei darauf hingewiesen wird, den Wert als String zu übergeben. In diesem speziellen Fall ist die Datenquelle eine kleine Werteliste, der Wert ist eine Zahl.
Leider wird mit diesem befehl kein Default gesetzt.
Wer hat Spaß daran mir meinen Fehler zu erklären?

Arne Dieckmann
23.02.2008, 19:22
Die cbo_Kombibox weist sich selbst den Standardwert zu?

Dann versuchs mal so, um z.B. den ersten Eintrag als Default zu verwenden:
Me!cbo_Kombibox.DefaultValue= Me!cbo_Kombibox.Itemdata(0)

Ansonsten solltest du schreiben, wann du den Code einsetzt.

achtelpetit
23.02.2008, 19:29
Die cbo_Kombibox weist sich selbst den Standardwert zu?

Ja, scheint mir auch logisch, denn der DefaultValue wird ja im Formular gespeichert. Den Code will ich beim Schließen des Formulars einsetzen, damit der Default beim nächsten Öffnen zur Verfügung steht.
Ich werd' Deinen Vorschlag am Montag gleich ausprobieren. Merci

Arne Dieckmann
23.02.2008, 19:50
Ach so - der Standardwert wird so nicht dauerhaft gespeichert, sondern würde sich nur auf die aktuelle "Formularsitzung" auswirken (vorausgesetzt man verwendet den Code beim Ereignis "Nach Aktualisierung")!

Vielleicht meinte der Autor des schlauen Buches so etwas wie unter FAQ 4.22 (Klick mich) (http://www.donkarl.com/FAQ/FAQ4Formulare.htm#4.22)?

achtelpetit
23.02.2008, 20:00
Ach so, ich hab' gedacht der Wert würde dauerhaft gespeichert, also auch nach dem erneuten Öffnen des Formulars wieder zur Verfügung stehen.
Im Moment habe ich mir mit einer Public-Variablen geholfen, die den Default-Wert aufnimmt. Dann muß das wohl so bleiben.

gpswanderer
23.02.2008, 20:03
Hallo,
Im Moment habe ich mir mit einer Public-Variablen geholfen, Aber die ist doch beim Start der DB auch leer, bzw. muss erst gesetzt werden.

achtelpetit
23.02.2008, 20:39
Ja, leider. Aber wenn ich den Wert nicht in einer Tabelle speichere wird der User wohl damit leben müssen beim ersten Aufruf des Formulars den im Formular gespeicherten Default vorzufinden.

Josef P.
23.02.2008, 20:47
So eine Tabelle sollte eigentlich keine besonderen Probleme bereiten. ;)

Alternativ könnte man den Wert auch in der Windows-Registry ablegen. (Siehe OH: GetSetting / SaveSetting)

achtelpetit
23.02.2008, 20:52
Nee, ein Problem ist das nicht. Aber da ich mein (untaugliches) Verfahren in vielen verschiedenen Formularen mit vielen verschiedenen Steuerelementen einsetzen wollte muß ich mir jetzt erst mal 'nen Plan machen.

gpswanderer
23.02.2008, 20:59
Hallo,
vielen verschiedenen Formularen mit vielen verschiedenen Steuerelementen einsetzen wollte Und genau deswegen, ist die Tabelle nach meiner Auffassung die einzige vernünftige Lösung.
In dieser Tabelle werden die Steuerelementnamen und der zugeörige Standardwert gespeichert.

Josef P.
23.02.2008, 21:00
... muß ich mir jetzt erst mal 'nen Plan machen.
Da kann ich dir einen Tipp geben. ;)
Nutze eine public Function zum Setzen und Abrufen des Standardwertes. Diese kannst du direkt in die Eigenschaft des Steuerelements eintragen.
In dieser Prozedur greifst du dann entweder jedesmal direkt auf die Tabelle zu oder du greifst nur bei der 1. Anfrage auf die Tabelle zu und speicherst den Wert in einer Hilfsvariablen zwischen.

achtelpetit
23.02.2008, 21:10
Danke für Eure Antworten. Wenn die nächsten Schwierigkeiten auftauchen (also ganz schnell) meld' ich mich wieder.