Im Kombinationsfeld neue Werte eingeben

Hallo,
ich habe in einem Eingabeformular ein Kombinationsfeld aus dem ich z.B. Namen aus einer anderen Tabelle auswähle.
Ich möchte nun über dieses Feld auch neue Namen eingeben ohne erst die andere Tabelle öffnen zu müssen.
Die Namen-Tabelle enthält nur zwei Spalten (Auto-Wert und Name)
geht das?
(Sollte es zu simpel sein: ´tschuldigung, bin Datenbank-Anfänger)

-)

Danke im voraus

Die „Auto-Wert“ - Spalte sollte die gebundene Spalte sein, dann die Eigenschaft des Kombifeldes einstellen auf
„Nur Listeneinträge = Nein“

Gruß
Stephan

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

Die „Auto-Wert“ - Spalte sollte die gebundene Spalte sein,
dann die Eigenschaft des Kombifeldes einstellen auf
„Nur Listeneinträge = Nein“

Gruß
Stephan

Hallo Stephan,
danke für die Antwort, aber ganz befriedigt mich die Lösung nicht:

  1. der neue Eintrag wird nicht in die Quelltabelle übernommen
  2. das Feld läßt sich nicht mehr durch die Tab-taste ansteuern
    Ist das so? Oder mache ich noch was falsch?

Jan

Hallo Jan,

stelle beim Kombinationsfeld die Eigenschaft „Nur Listeneinträge“ auf JA.
Stelle die Eigenschaft „Bei nicht in Liste“ auf: [Ereignisprozedur]
Die Ereignisprozedur sollte dann folgendermßen erfasst werden:

Private Sub kfNachname_NotInList(NewData As String, Response As Integer)

Dim db As Database
Dim rs As Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset(„tblNachname“) 'Bem: Oder wie die Tabelle mit den Nachnamen auch immer heißt

rs.AddNew 'Bem: Neuen Datensatz anfügen
rs!Nachname = NewData 'Bem: Das Feld „Nachname“ (oder wie das Feld auch immer heißt) mit den neu eingegebenen Daten füllen
rs.Update 'Bem: Datensatz anfügen
rs.Close 'Bem: Tabelle schließen
Response = DATA_ERRADDED 'Bem: Datenherkunft des Kombinationsfeldes aktualisieren

End Sub

Gruß

Gerd

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

Stimmt, so ging’s wirklich nicht wunschgemäß. Also müssen wir ein wenig fuddeln:

Vorher aber die „Nur Listeneinträge“-Eigenschaft des Kombifeldes wieder auf „Ja“ einstellen, denn nur dann greift die „Bei nicht in Liste“-Eigenschaft mit folgendem Code:
(Vorher Tabellenname der Datensatzherkunft vom Kombifeld und Feldnamen natürlich entsprechend im Code ersetzen)

Private Sub Testfeld_NotInList(NeueEingabe As String, Response As Integer)
Dim ctl As Control
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb

Set ctl = Me!DeinKombifeldName

If MsgBox(„Wert " & NeueEingabe & " fehlt. Hinzufügen?“, vbOKCancel) = vbOK Then
Response = acDataErrAdded
Set rs = db.OpenRecordset(„DeinBetreffenderTabellenname“)
rs.AddNew
rs.Fields(„DerEntsprechendeFeldname“) = NeueEingabe
rs.Update
Else
Response = acDataErrContinue
ctl.Undo
End If

End Sub