Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Umbauwfb am Februar 03, 2022, 10:11:47

Titel: ComboBox UF "Gelöscht"
Beitrag von: Umbauwfb am Februar 03, 2022, 10:11:47
Hallo, ich beiße mir gerade wieder an einem Problem die Zähne aus... :-X
Vielleicht kann da mal jemand draufschauen :)
Danke :)

Ich vermute, es ist wieder einmal mit 1ner SQL-Zeile zu lösen...

Thema ist immer noch meine Protokolldatei.
Folgende Situation:

Im Hauptformular wähle ich über eine Combo-Box einen Teilnehmer mit ID und Name aus: cbxTeilnehmerSuchen

Bei Aktualisierung von cbxTeilnehmerSuchen setze ich im UFO ein Ja/Nein-Feld auf 0
(der auskommentierte Teil des Codes zeigt vergebliche vorherige Versuche)

Private Sub cbxTeilnehmerSuchen_AfterUpdate()

Me.Requery

Forms!TeilnehmerAdressdatenF!ProtokollNotizUF.[Form].optProtokollTeilnehmerAdressdatenSelect = 0

'Forms!TeilnehmerAdressdatenF!ProtokollNotizUF.[Form].cboSelectFirma = "

'DoCmd.DeleteObject acTable, "ProtokollTeilnehmerAdressdatenSelectT"
'
'Dim db As DAO.Database
'Dim qdfTmp Acs DAO.QueryDef
'Set db = CurrentDb
'Set qdfTmp = db.QueryDefs("ProtokollTeilnehmerAdressdatenSelectQ")
'qdfTmp.Execute
'Set qdfTmp = Nothing
'Set db = Nothing


End Sub

Im nächsten Schritte setze ich in der Oberfläche des UFO das Ja/Nein-Feld auf "Ja"
> optProtokollTeilnehmerAdressdatenSelect = 1

Das löst den nachfolgenden Code aus.
Ich lösche alle Datensätze in der Tabelle "ProtokollTeilnehmerAdressdatenSelectT"
und füge über die Anfügeabfrage "ProtokollTeilnehmerAdressdatenSelectQ"
die gewünschten (über die ID des HF selektierten) Datensätze in die leere Tabelle

Das funktioniert durchgehend einwandfrei

Private Sub optProtokollTeilnehmerAdressdatenSelect_Click()

Dim strSQL As String
    strSQL = "DELETE * FROM ProtokollTeilnehmerAdressdatenSelectT"
    CurrentDb.Execute strSQL, dbFailOnError

DoCmd.OpenQuery "ProtokollTeilnehmerAdressdatenSelectQ"

End Sub


Öffne ich jetzt die ComboBox "cboSelectFirma" auf der Oberfläche des UFOs, bietet sie die richtigen Datensätze an!
Bis hierhin ist alles gut!

Wenn ich jetzt den Teilnehmer im HF wechsele...und erneut das das Ja/Nein-Feld auf "Ja"
> optProtokollTeilnehmerAdressdatenSelect = 1
setze, zeigt mir die gleiche ComboBox "cboSelectFirma" nur Datensätze mit "#Gelöscht"

Schließe ich das Formular komplett, öffne es wieder, funktioniert der 1.Durchgang wieder einwandfrei.
Sobald ich aber im HF den Teilnehmer wechsele, folgt wieder "#Gelöscht"...

Warum????
Die Tabelle hat immer die richtigen Inhalte...








Titel: Re: ComboBox UF "Gelöscht"
Beitrag von: PhilS am Februar 03, 2022, 10:53:05
So ganz kann ich deinen Abläufen nicht folgen, aber generell ist eine gute Idee Steuerelemente, die Daten anzeigen, nach einer Änderung an diesen Daten zu aktualisieren.

In anderen Worten:
cboSelectFirma.Requery
Titel: Re: ComboBox UF "Gelöscht"
Beitrag von: Umbauwfb am Februar 03, 2022, 11:05:55
Tja... so einfach war die Lösung  :)

Man glaubt es nicht...aber an diesem Problem habe ich mich einen ganzen Tag abgearbeitet...mit den unterschiedlichsten zunehmend verzweifelteren Versuchen :)

Aber ich habe auch wieder viel gelernt...der Anfang des VBA-Programmierens ist sehr mühsam und hat steile Klippen, die zu überwinden sind...man darf einfach nicht aufgeben!

Herzlichen Dank :)