Hallo,
Code:
Private Sub Kombifeld2_BeforeUpdate(Cancel As Integer)
Dim disseminiert_Stadium_ID As Long, strBezeichnung As String
lngdisseminiert_Stadium_ID = Me!Kombifeld2
strBezeichnung = Me!Kombifeld2.Column(1)
strSQL = "INSERT INTO Tab_Fruehstadium(I)_und_disseminiert_Stadium(II) (Bezeichnung) VALUES ('" & strBezeichnung & "')"
DoCmd.RunSQL strSQL
End Sub
beim Debuggen: Markieren der CoCmd-Zeile mit im Betreff genannten Fehler
Kennt jemand die Ursache?
(Tab-name zu lang?)
Danke!
Hallo,
das Problem liegt an den Klammern im Tabellennamen!
Die SQL-Engine interpretiert dieses Stadium(II) (Bezeichnung) als 2 aufeinanderfolgende Feldnamen die extra eingeklammert sind und somit wird ein Fehler erzeugt.
Nimm die Klammern aus dem Tabellennamen raus und alles läuft problemlos.
strSQL = "INSERT INTO Tab_FruehstadiumI_und_disseminiert_StadiumII (Bezeichnung) VALUES ('" & strBezeichnung & "')"
Natürlich musst du die Tabelle selbst auch umbenennen!
HTH
Peter
ok, danke!
jetzt anderer Fehler bei Testen der Anfügeabfrage:
Keine Anfügung, aufgrund Schlüsselverletzung (Access-Fehlermeldung stark verkürzt wiedergegeben).
(Beziehungen innerhalb den Tabellen bzw. den referrierenden Forms sind im Beziehungsfenster korrekt abgebildet.)
Hallo,
das Feld "Bezeichnung" in der Tabelle besitzt nicht zufällig einen eindeutigen Index, bzw. ist ein Teil von einem zusammengesetzten Schlüssel?
Hallo,
als Nachtrag du kannst da Problem auch umgehen in dem du den Tabellennamen in eckige Klammern setzt - so können die runden Klammern im Namen bleiben.
Zum Anderen Problem - naja, Access wird dich kaum belügen!
Mangel Kenntnis deiner Struktur kann ich dazu wenig aussagen - möglicherweise wird die Eingabe eines Fremdschlüssels zusätzlich zur Beschreibung erwartet (das Feld ist als Mussfeld deklariert, darf also nicht leer bleiben) oder du hast - was ich jetzt nicht hoffe - das Feld Beschreibung in der Tabelle zum Primärschlüssel ernannt.
@DF6GL
das waren nur 16 sec.! ::) ;D
@database:
man könnte auch sagen, das war eine lange Viertel-Minute.. :P ;) ;D
Hallo,
Textfeld als Schlüsselvariable, das passiert nicht mal mir ;-)
Hab Autowert_ID als PS (und kein weiteres Feld!) dazu neben Bezeichnung noch ne Spalte mit Fremd-ID - referrierend
zu übergeordneter Tabelle. Diese als Zahl (Long I) und ohne doppelte Werte. In übergeordneter Tab. ebenso Autowert_ID.
Die Beziehung hab ich mal gelöscht, bei Neuerstellung kann ich nur 1:1 auswählen (vorher 1 [übergeord.Tab] : n [besagte Tab].
Hallo,
"dazu neben Bezeichnung noch ne Spalte mit Fremd-ID "
na, da liegt der Hase im Pfeffer. Deine Anfügeabfrage setzt dieses Feld nicht (d. h. setzt mit einem NULL-"Wert" ) und der kann kein FS sein...
Hi,
ok. verstehe.
Aber weglassen kann ich den ja auch nicht einfach.
Hi,
ZitatDiese als Zahl (Long I) und ohne doppelte Werte
Dann hast du auf den FS einen eindeutigen Index gelegt und somt ist nur noch 1:1 möglich!
Da liegt wirklich mit der Beziehung was im Argen ... :o
ok, danke. Werd weiter probieren.