SQL-Abfrage in Formular?

Hallo,

folgendes Problem:
Es geht um eine Mitarbeiterliste. In der Liste „Personal“ wird Vorname, Nachname und Abteilung abgespeichert.
In einer zweiten Liste „Arbeitsunfälle“ werden Unfälle von Mitarbeitern eingespeichert. Nun will ich, dass wenn ich im Formular von „Arbeitsunfällen“ einen neuen Eintrag mit Name und Vorname des Verunfallten eingebe, automatisch die Abteilung in ein weiteres Textfeld „Abteilung“ eingefügt wird. Mit einer SQL-Abfrage in diesem Textfeld? Ich hoff die Lösung ist ganz einfach,
vielen Dank
Markus

Hallo Markus,

Ich hoff die Lösung ist ganz einfach,

ja ist sie… :smile:

  • erstelle ein Pulldownfeld (Bezeichnung z.B. Wahl_NAME)
  • als Datenbasis nimmst du die Mitarbeiterliste
  • wähle die folgenden Spalten aus:
    1. Spalte = Mitarbeiter_ID (ggf. an deine Bezeichnung anpassen)
    1. Spalte = Nachname & " " & Vorname
    1. Spalte = Abteilung
  • Eigenschaften Pulldownfeld [Spaltenanzahl]=3
  • Eigenschaften Pulldownfeld [Spaltenbreiten]= 0;15;0
    Trick: 0 = unsichtbar :smile:
  • ggf. noch Eigenschaften Pulldownfeld [Nur Listeneinträge]= ja

es wird die ID des Mitarbeiters in der Unfall-Tabelle gespeichert. Angezeigt wird aber Nach- und Vorname. Du kannst aber auch die erste Spalte weglassen und direkt den Namen speichern.

Beim Ereignis [bei Fokusverlust] folgenden VBA-Code eingeben:

Me.Abteilung = Me.Wahl_NAME.column(2)

Column (Spalten) werden bei Pulldownfelder mit 0 durchnummerriert:

  1. Spalte = Column(0)
  2. Spalte = Column(1)
  3. Spalte = Column(2)

um also den Inhalt der 3. Spalte zu übertragen, mußt du Column(2) angeben.

Es sieht hier schlimmer aus, als es hinterher beim Programmieren ist.

Grüße aus Essen
Wolfgang
(Netwolf)

Ok, danke das klappt schon mal. Aber eigentlich will ich den Vornamen und Namen nicht mit einer Liste auswählen, sondern selbst reinschreiben, was muss man dann noch ändern?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Markus,

Ok, danke das klappt schon mal. Aber eigentlich will ich den
Vornamen und Namen nicht mit einer Liste auswählen, sondern
selbst reinschreiben, was muss man dann noch ändern?

das kann ich nicht verstehen, wenn doch die Daten schon mal da sind, nutze sie. Rechtschreibfehler etc. werden vermieden.

du kannst in den Pulldownfeldern auch die Namen eintragen. Der erste passende wird dann gefunden. Wenn es ein neuer ist, kannst du über die Funktion [nicht in Liste] einen VBA Code schreiben, damit diese neuen Daten gleich im Mitarbeiterformular ergänzt werden können.

Grüße aus Essen
Wolfgang
(Netwolf)