Hallo,
ich habe eine eine Optiongruppe 'brdkategorie' mit 11 Optionsbuttons die beim speichern oder ändern eines Datensatzes gewählt werden.
Die ausgewählte Option wird auch sauber in die DB eingetragen.
Wie bekomme ich es hin das die gewählte Option auch wieder in der Optionsgruppe ausgegeben wird, damit man im beim springen durch die die Datensätze die getroffene Auswahl sieht.
With rs
If !gespraech = -1 Then
Me.optGespraech.Value = 1
'MsgBox "ja"
End If
End With
So war der Ansatz, der aber zu 100% nicht funktioniert ^^
Die Msgbox erscheint aber, also muss die Übergabe des Wertes falsch sein ... aber wie soll das gehen?
Gruß
Uwe
Hallo,
wenn die Optionsgruppe im Formular an das Optionsgruppenfeld gebunden wird, geht das doch automatisch. Da braucht es keinen Code.
Ansonsten erkläre mal genauer was Du willst.
Hast Du für die 11 Optionswerte eine Tabelle angelegt ?
Hallo Klaus,
folgendes ...
Ich habe ein ungebundenes Formular in dem ich neue Datensätze anlege bzw. vorhanden ändere.
In diesem Formular kann ich wählen zu welcher Kategorie ein Wort zählt.
Eine neue Tabelle habe ich dafür nicht angelegt.
Wenn ich das Formular aufrufe müsste ich die vorher gewählte Option sehen das ist aber nicht der Fall.
Deshalb wollte ich das über den Code lösen.
Ist es so verständlicher ?
Gruß
Uwe
Hallo,
ZitatIch habe ein ungebundenes Formular ...
warum tust Du Dir das an und verwendest ungebundene Formulare ?
Du verschenkst einen der größten Vorteile von Access. Ich kenne keinen Grund ungebunden Formulare zu verwenden.
Für die Optionswerte legt man eine Tabelle an, erst recht, wenn das 11 Werte sind.
Ein Feld für die Zahl und ein Feld für den Text.
Diese Tabelle nimmt man zu der Abfrage für ein gebundenes Formular dazu und hat dann auch die Klartexte der Optionsauswahl zur Anzeige.
Da kannst Du dann ändern, blättern und neue Daten anlegen wie Du lustig bist, alles passt, automatisch, ohne einen einzigen Buchstaben Code.
Nachtrag:
Auch wenn Du ungebunden bleiben willst, so solltest Du doch die Tabelle anlegen, denn dann kannst Du einfach mit DLookUp den Wert auslesen.
OptText = DLookUP("Optionstext","Optionstabelle","Optionswert = " & Me.OptionswertFormular)
Hallo Klaus,
ich stehe total auf dem Schlauch.
Ich habe die Tabelle erstellt s.Anhang. Nur wie bekomme ich die Informationen aus dem Formular dort abgelegt?
So in der Form ja nicht oder ?
.... Select Case brdkategorie
Case 1
.Fields("beruf").Value = -1
MsgBox "Beruf gewählt", , "Kategorie Auswahl"
Case 2 ...
Sorry für diese wahrscheinlich pillepalle Frage aber bin echt wie vernagelt.
Gruß
Uwe
Hallo,
in meinem Nachtag steht doch alles. Select Case braucht man da nicht, auch nicht bei einem ungebunden Formular.
Hier noch mal angepasst:
OptText = DLookUP("Katetxt","TabellenName","Kateid = " & Me.NameDerOptionsgruppe)
Denn Namen der Tabelle musst Du noch anpassen. Den Namen der Optionsgruppe findest Du wenn Du den Rahmen der Gruppe markierst.
Es würde mich doch mal interessieren, warum Du ein ungebundenes Formular verwendest.
Ich kenne keine Fälle zur Dateneingabe/Datenänderung wo das notwendig wäre.
Du verschenkst die elegantesten Möglichkeiten von Access und programmierst Sachen die man nicht braucht. Mit einem gebundenen Formular braucht es noch nicht mal das DlookUp, da braucht es keinen Buchstaben Code und alles geht automatisch.
Ersteinmal Danke dafür ... ich werde das mal testen.
Warum ich ein ungebundenes Formular nutze?
Als ich vor etwa 1,5 Monaten wegen zuviel Zeit dank des Corona Virus, einen Spanisch Vokabeltrainer für den Privaten gebrauch angefangen habe zu bauen, bin ich auf ein interessantes Video über recordsets gestoßen.
Ehrlich gesagt habe ich mir nie gedanken über eine "einfachere" Art nachgedacht ^^
Seitdem kommen mir ständig neue Ideen was ich noch ändern könnte etc.
Diese Ideen konnte ich durch probieren und diesem Forum dann umsetzen :-)
Ich werde mir mal Gedanken machen, ob ich die Vorgehensweise dahingehend ändere die internen Möglichkeiten besser zu nutzen.
Gruß
Uwe
Hallo,
Zitatbin ich auf ein interessantes Video über recordsets gestoßen.
Da bist Du zufällig ans falsche Video geraten. Das direkte Arbeiten mit Recordsets ist bei Access relativ selten notwendig. Indirekt schon, auch ein gebundenes Formular arbeitet ja mit Recordsets, aber eben im Hintergrund, ohne dass Du es direkt merkst. Recordset heißt ja auch ganz einfach Datensatz.
Zitat... ob ich die Vorgehensweise dahingehend ändere die internen Möglichkeiten besser zu nutzen.
ja, das solltest Du. Du wirst feststellen, dass Du anschließend 80% des bisherigen Codes ersatzlos entsorgen kannst. Einfach mal so geschätzt, zugegeben.