Neuigkeiten:

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

Mobiles Hauptmenü

ComboBox UF "Gelöscht"

Begonnen von Umbauwfb, Februar 03, 2022, 10:11:47

⏪ vorheriges - nächstes ⏩

Umbauwfb

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...









PhilS

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
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Umbauwfb

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 :)