Juni 27, 2022, 14:09:34

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Wertliste Kombinationsfeld Formular aus Wertliste Tabelle beziehen

Begonnen von ScalingR, Mai 16, 2022, 13:49:58

⏪ vorheriges - nächstes ⏩

ScalingR

Hallo zusammen,
ich habe eine Datenbank in Front- und Backend unterteilt.
In einer Tabelle habe ich ein Feld, welches ein Kombinationsfeld ist und seine auszuwählenden Werte aus einer Wertliste entnimmt.
Ich habe nun im Frontend ein Formular, welches ebenfalls ein Kombinationsfeld enthält und seine Werte in das Feld der Tabelle schreibt.
Ich möchte nun, dass das Kombinationsfeld des Formulars genau die selben Elemente in der Wertliste besitzt, wie das Feld der zugrundeliegenden Tabelle.

Hintergrund. Mehrere User nutzen ein eigenes Frontend. Sollte jetzt in einem Kombinationsfeld ein auszuwählender Eintrag noch fehlen, möchte ich ihn zentral in der Backendtabelle ergänzen. Nun soll er allen Nutzern im Kombinationsfeld zur verfügung stehen.

Lässt sich die Funktion einfach realisieren?
Ich würde gerne die einfachheit der Wertliste nutzen, da es sich nur um wenige Einträge handelt.

Alternativ kann ich auch als Datensatzherkunft eine eigene Schlüsseltabelle anlegen und ein Bearbeitungsformular im Frontend, was die Schlüsseltabelle mit neuen Elementen füllt. Den Aufwand würde ich mir gerne sparen, weil zu viele Kombinationsfelder mit jeweils nur einigen Elementen, die in seltenenen Fällen mal noch um wenige Elemente ergänzt werden müssen.

Gibt es eine Einstellung, die ich tätigen kann, dass die Werteliste aus dem Formular Kombinationsfeld seine Elemente aus der Werteliste des Tabellenkombinationsfeldes bezieht?

Vielen Dank schonmal :)

DF6GL

Hallo,


mach es Dir einfach und wirf zunächst das Nachschlage-Kombifeld aus der Tabelle heraus (grundsätzlicher Ratschlag). Erstelle dann eine Tabelle mit den Nachschlagewerten, die als Datensatzherkunft für das gebundene Kombifeld im Formular dient (also keine Wertliste benutzen, auf "Tabelle/Abfrage" einstellen).

Mit einem (SQL-) Einzeiler im Kombifeld-Ereignis "Bei nicht in Liste" kann der neue in das Kombi eingetragene  Wert einfach in die Nachschlage-Tabelle abgespeichert und gleichzeitig im Kombifeld übernommen werden.

Private Sub MeinKombi_NotInList(NewData As String, Response As Integer)
CurrentDb.Execute "Insert into tblNachschlageTabelle (MeinFeld) Values ('" & NewData & "')"
Response = acDataErrAdded
End Sub



Das Ganze geht auch mit einer Wertliste, erfordert aber etwas mehr Aufwand und ist schlechter sortierbar.

Zudem ist mehr VBA-Code (Recordset) erforderlich.

siehe https://docs.microsoft.com/de-de/office/vba/access/concepts/forms/add-a-value-to-a-bound-combo-box





ScalingR

Danke für deine Antwort. Das ist wohl wirklich die saubere Lösung...