Manuelle Eingabe bei Kombifeld ermöglichen

Hallo Access2000-Spezis

Habe ein Formular in dem ein Kombinationsfeld ist. Dort habe ich einige Zahlen abgespeichert. Nun aber kann es sein, dass gewisse Zahlen noch nicht vorhanden sind die ich brauche und die ich dann manuell eingeben soll. Nun kommt bei mir aber eine Meldung, dass das kein Element der Liste ist. Ich will dies aber ermöglichen, wie kann ich das tun?

Danke für jede Hilfe,

Klaus.

Hallo,

  1. diesen Code anpassen (Feld- und Tabellennamen) und in das Event „BeiNichtInListe“ des Kombinationsfelds einfügen:

'Tabelle_Straßen ergänzen

Response = acDataErrAdded 'keine Standardmeldung

Dim db As Database, rst As Recordset

If MsgBox(„Der Wert " & NewData & " ist in der Datenquelle nicht vorhanden. Wollen Sie ihn hinzufügen?“, vbQuestion + vbYesNo) = vbYes Then
Set db = CurrentDb
Set rst = db.OpenRecordset(„Tabelle_Straßen“, dbOpenDynaset)
rst.AddNew
rst!Straße = NewData ’ neuen Wert übernehmen
rst.Update
rst.Close
Set rst = Nothing
db.Close
End If

  1. In den Eigenschaften des Kombinationsfelds „Nur Listeneinträge“ aktivieren.

HTH,

Ulrich

Kannst du mir sagen wo ich genau was muss anpassen

'Tabelle_Straßen ergänzen

Was meinst du damit? Tab machen wo Tabelle_Strassen heisst?

Response = acDataErrAdded
Dim db As Database, rst As Recordset

Muss ich hier etwas ändern? Meine DB jammert hier nämlich schon!?

If MsgBox(„Der Wert " & NewData & " ist in der Datenquelle
nicht vorhanden. Wollen Sie ihn hinzufügen?“, vbQuestion +
vbYesNo) = vbYes Then
Set db = CurrentDb
Set rst = db.OpenRecordset(„Tabelle_Straßen“,
dbOpenDynaset)
rst.AddNew
rst!Straße = NewData ’ neuen Wert übernehmen
rst.Update
rst.Close
Set rst = Nothing
db.Close
End If

Kannst du mir sagen wo ich genau noch was anpassen muss? Welche Tabelle, welches Feld genau gemeint ist?

Danke

Hallo,

Was meinst du damit? Tab machen wo Tabelle_Strassen heisst?

Ich hatte angenommen, daß Dein Kombinationsfeld seine Werte aus einer Tabelle bezieht. Bei mir heißt die Tabelle „Tabelle_Straßen“.
Wenn Du eine Werteliste verwendest, geht das natürlich nicht so.

Set rst = db.OpenRecordset(„Tabelle_Straßen“,

In meiner Tabelle heißt der Feldname „Straße“.

rst!Straße = NewData ’ neuen Wert übernehmen

::Response = acDataErrAdded
::smiley:im db As Database, rst As Recordset

Muss ich hier etwas ändern? Meine DB jammert hier nämlich schon!?

Was sagt sie denn. Du verwendest Access2000? Ich Access97. Versuchs mal mit

Dim db As DAO.Database, rst As DAO.Recordset

Ulrich

Irgendwas stimmt immer noch nicht
Ja hab Access2000, hab es nun mal mit diesem versucht:
Dim db As DAO.Database, rst As DAO.Recordset
heisst aber, ich habe es noch nicht deklariert und weist mich auf die
erste Zeile des Codes.
Kannst mir villicht noch weiterhelfen?

Jetzt fählt mir noch ein Problem ein! Bei meinem Formular sieht es so aus, dass wenn ich im Kombifeld etwas auswähle, dass im nächsten Feld automatisch ein Wert erscheint der in der Tabelle im gleichen Datensatz liegt. Hoffe du weist was ich meine.
Nun könnte ich ja dann das gleiche in diesem Feld machen, nur sollte es dann im gleichen Datensatz gespeichert werden.

Hallo,

wer hat das Formular denn erstellt Du (mit Access-Assistent?) oder jemand anderes?

Ich fische hier sozusagen im Trüben, da ich hier kein Access2000 zur Verfügung habe.

Sorry,

Ulrich

KANN JEMAND ANDERES NOCH HELFEN?
Kann vielleicht noch jemand anderes mir helfen?

Nun kommt bei mir aber eine Meldung, dass das kein Element
der Liste ist. Ich will dies aber ermöglichen, wie kann ich
das tun?

Hi,
in den Eigenschaften des Feldes den Wert für „Nur Listeneinträge“ auf NEIN setzen, dann sind auch andere Eingaben erlaubt.

Gruß,
Claudio