April 14, 2021, 17:07:35

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Kombobox NotInList Event mit Dummy Wert

Begonnen von Paddy24, Februar 14, 2021, 20:42:30

⏪ vorheriges - nächstes ⏩

Paddy24

Einen schönen Abend euch,

Ich habe gerade ein Formular gebaut, das Personen aus einer Kombobox abruft, wird eine Eingabe nicht gefunden triggert das Ereignis NotInList.

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

    Dim strSQL As String
    Dim i As Integer
    Dim Msg As String

    'Diesen Sub verlassen, wenn der String in der Kombobox gelöscht wurde
    If NewData = "" Then Exit Sub

    Msg = "'" & NewData & "' befindet sich derzeit nicht in der Datenbank." & vbCr & vbCr
    Msg = Msg & "Möchten Sie ihn hinzufügen?"

    i = MsgBox(Msg, vbQuestion + vbYesNo, "Unbekannter Betreuer...")
    If i = vbYes Then
        strSQL = "Insert Into tblBetreuer ([Bet_Name])" & _
                 "values ('" & NewData & "');"
        CurrentDb.Execute strSQL, dbFailOnError
        Response = acDataErrAdded
    Else
        Response = acDataErrContinue
        Me.Painting = False
        Me.cboBetreuer.Text = ""
        Me.Bet_Name.SetFocus
        Me.Painting = True
    End If
   
End Sub


Im dem Formular werden einmal die Stammdaten, wie Name und Vorname abgefragt, und einmal die Adresse (über Kombobox als Fremdschlüssel auf Adressentabelle).

Wird nun ein Name eingegeben, der noch nicht existiert und man möchte diese Person neu anlegen, füllt er zwar den Namen, aber ohne das er eine ID für die Adresse bekommt, lässt sich dieser Datensatz nicht mehr auswählen.

D.h. er wird zwar in der Kombobox angezeigt, aber durch klick auf Ihnen wird der Datensatz nicht geladen, bis man in der Tabelle zu dem Datensatz einen Fremdschlüssel für die Adresse hinterlegt.


Jetzt wollte ich fragen, arbeitet man da mit einem Dummy Datensatz in der Tabelle Adressen oder wie kann man Access "verklickern" das ich den Datensatz ja erst noch ausfüllen möchte?

Vielen Dank
Patrick

MzKlMu

Hallo,
öffne mit NotInList ein Formular und fülle dann den Datensatz ganz aus.
Siehe hierzu:
http://www.donkarl.com?FAQ4.13
Variante 2
Gruß
Klaus

Paddy24

Hallo,

danke, das hat soweit funktioniert. Allerdings übernimmt das Hauptformular den neu angelegten Betreuer nicht. Ich muss dazu das Formular schließen und neu aufrufen, damit er die Daten lädt. Ein Requery, wie in der von dir geposteten Anleitung tut da nichts. Wobei bei mir der Aufbau auch etwas anders ist, da ich ein UFO benutze um den Betreuer einer Person festzulegen und das Updated auch nicht, wenn ich den Betreuer im Kombobox des UFOs ändere.

Falls du etwas Zeit findest, ich habe die aktuelle DB einmal hier angehangen, es geht in dem frmPerson um das Register Betreuer, wo das entsprechende UFO hinterlegt ist. Das will dort noch nicht so klappen und ich konnte die letzten Tage nicht herausfinden, wie ich das gelöst bekomme.

Sie dürfen in diesem Board keine Dateianhänge sehen.

MzKlMu

Hallo,
da muss erst mal noch einiges bereinigt/geändert werden.
Wieso ist das Feld cboBetreuer ungebunden ?
Das dient doch zur Auswahl eines Betreuers aus der Betreuertabelle und muss demzufolge an das Fremdschlüsselfeld Bet_ID_f gebunden werden. Dieses Feld darf dann nicht auf das Ufo (auf das Register ja), denn das ist ja ein Feld der Personentabelle.
Überhaupt, ist für die Daten des Betreuers kein Ufo notwendig. Das Ufo für die Adresse rutscht dann eine Ebene hoch. Findfirst mit dem Kombi cboBetreuer ist hier völlig fehl am Platz.

Das Gleiche gilt sinngemäß für den Hausarzt. Das muss geändert werden, dann dürfte sich auch das Problem erledigt haben.

Da musst Du noch mal ran.
Gruß
Klaus

Paddy24

OK danke, das funktioniert nun :)

Allerdings ist das Thema Adresse noch eine große Baustelle bei mir. Auf der einen Seite habe ich ein Straßenverzeichnis und auf der anderen Seite muss ich die Hausnummer pro Person eintragen und auch neue Adressen aufnehmen (die nicht im Straßenverzeichnis sind).

Dazu habe ich nun eine Zwischentabelle erstellt "tblAnschrift" in der ich die Fremdschlüssel der Person/Hausarzt/Krankenhaus/Betreuer hinterlege (je nachdem wer die Anschrift bekommt) und den vom tblAdressen.

Sie dürfen in diesem Board keine Dateianhänge sehen.

Somit kann ich dann eine Adresse zuordnen und die Hausnummer und ggf die tblAdresse ergänzen.

Ob das so Sinn macht weiß ich nicht, aber das ist die derzeitige Lösungsidee zu dem Problem.

Dazu kommt, das ich das frmAnschrift nun als UFO habe, es aber nicht entsprechend der Kombobox darüber updated. Da bin ich noch am probieren, wie es am besten klappen kann.

Sie dürfen in diesem Board keine Dateianhänge sehen.