Vielen Dank für die schnelle Antwort!
Ich habe bislang noch nie die Visual Basic-Funktion genutzt und diesbezüglich noch keine Vorkenntnisse. Ich weiß nicht warum, aber ich musste gewisse Änderungen an dem Code vornehmen (s. unten), bis es funktionierte. Wahrscheinlich resultiert das aus meiner Unwissenheit, aber vielleicht sind hier noch andere Anfänger unterwegs, denen meine Angaben hilfreich sein werden. Zunächst noch einmal die Eckdaten meiner Testdatenbank:
Tabelle „Adressen“ mit Feld „Land“
Tabelle „Land“ mit Feld „Land“
Formular „Adressen“ mit dem Feld aus der Tabelle „Adressen“
Stimmt für das Feld „Land“ in der Tabelle „Adressen“.
- Wertlistenbearbeitung zulassen: je nach Bedarf (du willst ja
eine Automatik)
Verstehe ich nicht so ganz. Worüber genau entscheidet „Wertlistenbearbeitung“?
- bei nicht in Liste: Ereignisprozedur
Kann ich nur im Bereich des Formulares für das Feld „Land“ einstellen (im Bereich der Tabelle selbst geht das bei mir nicht). Daraufhin öffnet sich Visual Basic. Folgenden Text batest Du mich einzufügen (sofern ich das richtig verstanden habe):
Private Sub Land_NotInList(NewData As String, Response As
Integer)
NIL NewData, Response
End Sub
Public Function NIL(NewData, Response)
Dim sql As String
sql = „INSERT INTO tblLAND (Land) SELECT '“ & NewData & „’
AS inLand;“
DoCmd.RunSQL sql
Response = acDataErrAdded
End Function
So kommt es aber zu Fehlermeldungen. Wenn ich den Text nun folgendermaßen abändere, dann klappt es. Um Missverständnissen durch automatische Zeilenumbrüche vorzubeugen, mache ich für jede neue Zeile hier einen Spiegelstrich:
-Private Sub Land_NotInList(NewData As String, Response As Integer)
- NIL NewData, Response
-End Sub
-
-Public Function NIL(NewData, Response)
-Dim sql As String
- sql = „INSERT INTO Land (Land) SELECT '“ & NewData & „’ AS inLand;“
- DoCmd.RunSQL sql
- Response = acDataErrAdded
-End Function
Mit anderen Worten:
(1) die Zeile „inLand;“" gehört noch in dieselbe Zeile wie „sql = …“ (leider generiert WerWeißWas hier einen Zeilenumbruch, der für Missverständnisse sorgt,
(2) ich musste die beiden "
" wegmachen und
(3) an der Stelle "INSERT INTO tblLAND (Land)" muss das "tblLAND" durch den Namen der Tabelle ersetzt werden ohne die Buchstabenfolge "tbl" (ich dachte, es handelt sich um einen festen Ausdruck".
Nochmals danke für die Hilfe!