Elite Veteran
Beiträge: 874
Ort: Wien | Hallo, Bernhard!
bkleine - 03.05.12
...
Private Sub chosenMitarbeiter_DblClick(Cancel As Integer)
Dim einfuegen As String
einfuegen = "Insert Into GeschulteMitarbeiter (Schulungskey, MitarbeiterKey) " & _
"VALUES ('" & Me.Schulungskey & " ', '" & Me.chosenMitarbeiter & "');"
CurrentDb.Execute (einfuegen)
...
Es wird nichts eingetragen.
Die übliche Methode, so etwas umzusetzen wäre z.B. ein Hauptformular auf Basis der Schulungsdaten und ein über den Schulungskey verknüpftes UFo auf Basis der Zwischentabelle. Im UFo befindet sich ein Kombi mit Mitarbeiterkey, MitarbeiterName etc. gebunden an den MitarbeiterKey in der Zwischentabelle. Das hat mehrere Vorteile, v.a. ist kein Code notwendig und du hast immer die aktuellen Daten.
Nun zu deinem o.a. Code. Es gibt ein überflüssiges Leerzeichen vor dem zweiten Hochkomme. Wenn die Key-Felder Zahlfelder sind, kannst du dir die Hochkommas überhaupt sparen, aber es sollte auch mit funktionieren. Schreibe mal testweise ein
debug.print einfuegen
vor die Execute-Zeile und schau dir den resultierenden SQL-Text im Direktfenster an. Evtl. siehst du dann schon das Problem. Falls nicht, dann kopiere den SQL-Text in die SQL-Ansicht einer neuen Abfrage und versuche sie auszuführen bzw. kopiere ihn in deinen nächsten Beitrag hier rein.
Noch ein Hinweis zur Variablen "einfuegen": Nach den üblichen Benennungsrichtlinien sollte sie"strSQL" o.ä. heißen, also mit dem Typ als Vorsilbe.
----- Servus
Karl
*********
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek
Access DevCon Vienna: https://www.donkarl.com/devcon
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy... |