Wieder einmal ein herzliches Hallo,
ich bin soweit durch. Mir fehlt nur eine Kleinigkeit.
Ich habe ein UF das aus einer Tabelle besteht. Zwei Spalten sind wichtig. Eine beinhaltet einen Text in englisch die andere die Übersetzung in deutsch.
Beide werden durch Kombinationsfelder gefüllt. Ist ein Eintrag nich vorhanden wird er per Addnew-Methode eingefügt.
Allerdings kann es vorkommen, dass bei einer gewünschten Eingabe der Übersetzung ein neuer Datensatz angelegt wird, statt den aktivierten zu aktualisieren.
Bisher habe ich es hiermit versucht:
Private Sub frage\_ger\_NotInList(NewData As String, Response As Integer)
Dim dbCurrent As Database
Dim RS As Recordset
Dim intMsgResponse As Integer
Set dbCurrent = CurrentDb
Set RS = dbCurrent.OpenRecordset("tbl\_fragen", dbOpenDynaset)
'Überprüfen ob die Übersetzung eingetragen ist
If Nz(Me!frage\_eng, "") = "" Then
'Nachfragen, ob der neue Wert gespeichert werden soll...
intMsgResponse = MsgBox("Möchten Sie ´" & NewData & "´ zur Liste hinzufügen?", vbOKCancel + vbQuestion + vbDefaultButton2, " hinzufügen?")
If intMsgResponse = vbOK Then
'Tabelle öffnen und mit der AddNew-Methode den Eintrag speichern....
With RS
.AddNew
!frage\_ger = NewData
.Update
RS.Close
End With
'Das Kombinationsfeld zum Requery veranlassen und den neuen Wert
'auch automatisch auswählen lassen.
Response = acDataErrAdded
Else
'Meldung, wenn auf Abbrechen geklickt wurde.
Response = acDataErrContinue
MsgBox "Sie können ´" & NewData & "´ nicht verwenden, wenn Sie den Wert nicht speichern.", vbExclamation, "Akquisitions-Datenbank"
End If
Else
With RS
.Edit
!frage\_ger = NewData
.Update
RS.Close
End With
Response = acDataErrContinue
End If
End Sub
Hinter dem letzten Else müsste etwas richtiges geschehen.
Liebe Grüße.