MS Access, Autowert in Formular

Ste-Re

Mitglied
Hallo Zusammen,

ich kann grad einfache Probleme nicht lösen - ist irgendwie nicht mein Tag ;)
Folgendes Problem. Ich habe 2 Tabellen. Tab_1 enthält eine Übersicht über diverse Vorgänge. Darunter auch ein Feld für die Mitarbeiternummer. Tab_2 enthält die Mitarbeiterdaten. Jetzt würde ich gern ein Formular auf Basis von Tab_1 erstellen. Dabei soll in ein Feld die Mitarbeiternummer eingegeben werden können. Daneben hätte ich gern ein "blindes" Feld (eines, was vom Nutzer nicht editiert werden soll), in dem automatisch Nachname und Vorname zum passenden Mitarbeiter eingetragen werden sollen (also aus Tab_2)
Bsp.:

Eingabe: Mitarbeiternummer: 123
Auto: Mitarbeitername: Max Mustermann

Wie müsste ich dafür den "Steuerelementinhalt" des blinden Feldes definieren? Dank euch
 
MS Access, Autowert in Formular, Ergänzung

Hallo zusammen,

nachdem ich hier inzwischen einen Beitrag zur automatischen Anzeige von Combo-Boxen gefunden habe, habe ich versucht damit mein Problem zu lösen.
Das ist theoretisch auch möglich, jedoch nicht vollständig.
Denn hier wird das Combo-Feld erst aktualisiert, wenn ich in das Feld klicke, auf das sich mein Combo bezieht.
-> Also der Name wird erst aktualisiert, wenn ich in das Feld Personalnummer klicke - damit ist die Anzeige natürlich bei bestehenden Datensätzen weitestgehen falsch. Ich hätte gern eine Aktualisierung beim Datensatzwechsel. Ist so etwas möglich und wenn ja, wo muss ich diese einstellen? (Bei Ereignisses des Feldes, Detailbereichs & Formulars) hab ich nix entsprechendes gefunden).
 
MS Access, Autowert in Formular - Lösung

Hallo nochmal,

nach einigem Experimentieren habe ich eine Lösung für das Eingangs beschriebene Problem gefunden. Hier nun ein Weg, falls ihr mal das gleiche machen wollt.

1. legt zwei Felder an
Feld 1: Personalnummer - sollte dem Vorgang zugeordnet sein und damit über die Übersichts-Tabelle verfügbar sein.
Feld 2: Ein ungebundenes Listen-Feld zur Anzeige der Mitarbeiternamens. Bennent dieses Feld in den Eingenschaften mit 'Mitarbeitername'.

2. Bei Datensatzherkunft des Listen-Feldes tragt ihr folgendes ein (angepasst an eure Feldnamen):
Code:
SELECT DISTINCTROW [Mitarbeiter].[Nachname] & ", " & [Mitarbeiter].[Vorname] 
FROM Mitarbeiter 
WHERE (([Mitarbeiter].[Personalnummer]=Formulare!Eingabe!Mitarbeiter));
(Die Select Anweisung bringt eine Ausgabe der Form 'Nachname, Vorname')

3. Öffnet nun die Formulareigenschaften. Geht dort auf den Reiter "Ereignis" und legt bei "Anzeigen" folgende "Ereignisprozedur" (VB-Code) an:
Code:
Private Sub Form_Current()
    Mitarbeitername.Requery    
End Sub

Das wars auch schon. Jetzt wird bei jedem Datenwechsel das Feld mit Namen aktualisiert.
Viel Spaß beim Nachvollziehen
 
Zurück