Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Eintrag in ein Kombinationsfeld hinzufügen

12 views
Skip to first unread message

Wolfgang Ohlwein-Weitzel

unread,
Aug 9, 2023, 12:45:19 PM8/9/23
to
Ich verwende nachfolgenden Code, um einen Eintrag über ein Formular in ein Kombinationsfeld hinzuzufügen.
Die Funktion läuft bis auf eine Fehlermeldung ohne Probleme.
Nach Ende der Funktion erhalte ich die Fehlermeldung
Der von Ihnen eingegebene Text ist kein Element der Liste.
Diese Meldung sollte mit dem Befehl
Response = acDataErrAdded
unterdrückt werden.

Hier mein Code:
Private Sub Kombi_Ausw_NotInList(NewData As String, Response As Integer)
Dim strMeldung As String, bolAnlegen As Boolean
strMeldung = "'" & NewData & "' als neuer Ansprechpartner anlegen?"

bolAnlegen = MsgBox(strMeldung, vbYesNo, "Neuer Ansprechpartner") = vbYes
If bolAnlegen = True Then
v_Name = NewData
v_DS_neu = "Neu"
DoCmd.OpenForm "F_ASP_Kombi", , , , , acDialog
With Me.Controls("Kombi_Ausw")
.Undo
.Requery
.Value = v_ASPid
End With
Response = acDataErrAdded
Me.Kombi_Ausw.Requery
Me.ID_ASP = Me.Kombi_Ausw.Column(1)
Else
Response = acDataErrContinue
End If
End Sub

Gruß Wolfgang

Ulrich Möller

unread,
Aug 10, 2023, 4:23:33 AM8/10/23
to
Hallo Wolfgang,

ich sehe jetzt nicht, wo in deinem Code der neue Eintrag der Datenquelle
der Kombobox hinzugefügt werden soll. Üblicherweise wird ein Undo auch
nur dann durchgeführt, wenn das Hinzufügen abgebrochen werden soll und
ein Requery sollte auch nicht notwendig sein. Auf den ersten Blick sieht
der Code etwas umständlich bzw. aufwendig aus.

Gruß Ulrich

Wolfgang Ohlwein-Weitzel

unread,
Aug 10, 2023, 12:30:35 PM8/10/23
to
Hallo Ulrich,
der neue Eintrag wird über das Formular F_ASP_Kombi der Tabelle hinzugefügt.
Danach muss ich das Kombinationsfeld aktualisieren, dass auf die Tabelle zugreift und den neuen Datensatz anzeigen.
Das Funktioniert so auch. Ich verstehe nur nicht, wieso ich eine Fehlermeldung erhalte.
Gruß Wolfgang

Ulrich Möller

unread,
Aug 10, 2023, 1:43:22 PM8/10/23
to
Hallo Wolfgang,
die Logik scheint nicht zu stimmen. Undo geht einher mit
acDataErrContinue und ist nur notwendig, wenn das Hinzufügen explizit
abgebrochen wird.
Wenn der Wert NewData hinzugefügt wird (wie auch immer), wird response
auf acDataErrAdded gesetzt und das war es - kein undo!
Die Requery Methode der Kombobox wird in keinen Fall aufgerufen und ist
auch nicht nötig, weil die Kombobox dieses selber verwaltet.

Gruß Ulrich

Wolfgang Ohlwein-Weitzel

unread,
Aug 11, 2023, 3:14:28 AM8/11/23
to
Hallo Ulrich,
nachdem ich den neuen Datensatz meiner Tabelle hinzugefügt habe, wird dieser aber noch nicht im Kombinationsfeld angezeigt.
Aus diesem Grund lese ich die Daten des Kombinationsfeldes neu ein, was ich mit requery durchführe.
Der eingetragene Wert löst einen Fehler aus, weshalb ich diesen mit undo entferne.
Den neuen Datensatz zeige ich mit der Zuweisung value=v_ASPid an.
Aus diesem Grund führe ich diese Schritte aus.
Gruß Wolfgang

Wolfgang Ohlwein-Weitzel

unread,
Aug 11, 2023, 3:53:43 AM8/11/23
to
Hallo Ulrich,
ich habe den Ablauf noch einmal durchgespielt und musste feststellen, dass nun die Fehlermeldung nicht mehr erscheint, obwohl ich am Programmcode nichts geändert habe.
Dies verstehe ich nicht!!!
Aber damit hat sich meine Anfrage ert einmal erledigt.
Danke für die Anregungen.
Gruß Wolfgang
0 new messages