PDA

Vollständige Version anzeigen : Optionsgruppenwert sofort speichern


Schnuckelhase
18.10.2001, 14:32
Ich habe ein Formular1, daß die Tabelle Optionen als Datenherkunft benutzt. Diese Tabelle hat nur einen Datensatz. Folglich hat das Formular1 keine Navigationsschaltflächen (Schaltfläche um zum ersten, vorigen, nächsten, letzten Datensatz zu gelangen).
Ins Formular1 will ich eine Optionsgruppe (mit 3 Optionsfeldern) einbauen, die auf das Feld1 in der Tabelle Optionen zugreift. Leider wird diese Tabelle aber nicht beim Anklicken der Optionsgruppe aktualisiert, ich muß aber auf diesen Wert sofort (beim Anklicken einer Befehlsschaltfläche) zugreifen können.
Wie stell ich das an (A97)?

scooterist
18.10.2001, 14:56
Hi,
bin nicht ganz sicher ob´s funktioniert...Arbeite mit A00...Aber bevor niemand antwortet:

Sub Option_click() ' gilt für einen Optionbutton, mußt du also auf deine Gruppe Zurechtschneiden,
'oder tatsächlich auf das Ereignis Befehlsschaltfläche_click
Dim Optionen As Recordset
Dim db As Database
Set db = CurrentDb
Set Optionen = db.OpenRecordset("Optionen")
Optionen.Addnew
Optionen!Feld1 = Option1 'evtl. den Wert einer Variablen zuweisen und diese anstatt Option1 zuweisen
Optionen.Update 'damit steht der Wert in der Tabelle

Gruß harald

Scorefun
18.10.2001, 15:27
ein einfaches

DoCmd.RunCommand acCmdSaveRecord

beim "Nach Aktualisieren" oder "Beim Klicken" dürfte eigentlich auch reichen.

Vorausgesetzt, die Optionsgruppe ist an das entsprechende Feld der Tabelle gebunden und speichert den Zahlenwert.

Schnuckelhase
18.10.2001, 15:44
Vielen Dank, aber mit _click haut es nicht hin. Hab nur die folgenden zur Verfügung:

Private Sub Option37_GotFocus()
Private Sub Option37_KeyDown(KeyCode As Integer, Shift As Integer)
Private Sub Option37_LostFocus()
Private Sub Option37_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Private Sub Option37_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Private Sub Option37_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Private Sub Option37_KeyPress(KeyAscii As Integer)
Private Sub Option37_KeyUp(KeyCode As Integer, Shift As Integer)

Ich hab es stattdessen mit MouseUp probiert, funktioniert nicht da Eure beiden Ereignisse so zu früh ausgeführt werden.

Entgegen meiner ersten Ausführung möchte ich doch nicht, daß die Aktualisierung mit einem Click der Befehlschaltfläche ausgeführt wird sondern schon beim Aktivieren einer Optionsschaltfläche, weil später noch Bottons dazukommen.

Kann mir jemand weiterhelfen?
THX!

Schnuckelhase
18.10.2001, 16:01
Als einzige Möglichkeit sehe ich da lost Focus. Die ist aber auch nicht sonderlich elegant, da es z.B. wenn ich mit einem weiteren Formular arbeiten sollte kein Lost Focus auf Formular1 gib und somit keine Aktualisierung der Tabelle Optionen.

Eine Lösung schein nicht einfach zu sein, hoffentlich könnt ihr mir weiterhelfen!

Schnuckelhase
18.10.2001, 16:34
Vielen Dank für Eure Hilfe!!!
Ich hab es jetzt hinbekommen. Ich darf nicht Option benutzen sondern den Rahmen:

Private Sub Rahmen32_Click()
DoCmd.RunCommand acCmdSaveRecord
End Sub

erwin
18.10.2001, 16:44
Tipp am Rande:

statt Click besser noch OptionsgruppenRahmen_AfterUpdate verwenden ;)

so long erwin...