[Access] Abfrage über DomWert / DlookUp im Endlosformular

Alex777

Mitglied
Hallo zusammen!
Ich habe eine Tabelle "tblMahnungenTemp" in der Mahnungen zwischengespeichert werden, bevor sie tatsächlich in den Druck bzw. an den Kunden gehen. Die Tabelle hat folgende Struktur:
1604416389626.png

Nun möchte ich ein Endlosformular machen, in dem ich diese Mahnungen abbilde und zum Druck auswählen lasse. Um es für den Buchhalter anschaulicher zu machen, ziehe ich mir ergänzende Infos zu der Rechnung aus einer anderen Tabelle/Abfrage, z.B. Empfänger, Klient, Rechnungsdatum usw.

1604416623444.png


Nun befülle ich die Felder mit der Funktion DomWert und habe dann an den Ladezeiten gemerkt, dass das so wohl nicht gedacht ist. Wenn ich mir die Daten aber direkt als Datensatzquelle mit aufrufe, habe ich das Problem, dass ich die Daten aus der Tabelle "tblMahnungenTemp" nicht mehr bearbeiten kann, weil Access dann meckert.

Könnt ihr mir hier einen Hinweis geben, wie es richtig gemacht wird?

Beste Grüße
 

Yaslaw

n/a
Moderator
DomWert in jedem Feld eines Endlosformulars? Ja, da bekommt Endlos eine weitere Bedeutung.
DomWert sollt nicht in Massen verwendet werden.
Das Formular normal mit Daten befüllen und die CheckBox ungebunden machen. Bim Anklicken mit VBA abfangen und die Auswahl über VBA entweder in die Tabelle speichern oder einfach behalten und beim Report öffnen als Paramter mitgeben.
 

Alex777

Mitglied
Habe das nochmal gegoogelt, da finde ich einstimmig das Problem mit den ungebundenen Checkboxen und deren Verhalten im Endlosformular.
Kann ich vielleicht die Datensatzquelle anpassen, sodass Access mir erlaubt das Feld "Drucken" der Tabelle zu ändern? Aktuell bekomme ich da die Meldung "Die Datensatzgruppe kann nicht aktualisiert werden."

Hier mal die Datensatzquelle des Formulars:

SQL:
SELECT tblMahnungenTemp.ID, tblMahnungenTemp.RECG_ID, tblMahnungenTemp.Drucken, qryOffeneMahnungen.RgNummer, qryOffeneMahnungen.RgDatum, qryOffeneMahnungen.Empfänger, qryOffeneMahnungen.Klient, qryOffeneMahnungen.Saldo, tblMahnungenTemp.MStufe, tblMahnungenTemp.MGebühr, tblMahnungenTemp.MVZinsen, tblMahnungenTemp.NächsteFälligkeit
FROM tblMahnungenTemp INNER JOIN qryOffeneMahnungen ON tblMahnungenTemp.RECG_ID = qryOffeneMahnungen.RECG_ID
ORDER BY qryOffeneMahnungen.Empfänger;
 

Alex777

Mitglied
Hallo zusammen, aaalso ich habe es nun wie folgt gelöst:

neben die Checkbox einen ungebundenen Button eingefügt.
Auf diesen Button bei Klick folgenden Code gelegt:
Visual Basic:
Private Sub butDrucken_Click()
Dim sql As String

'Status der Checkbox prüfen
If Me.Drucken = True Then
sql = "Update tblMahnungenTemp Set tblMahnungenTemp.Drucken = false Where tblMahnungenTemp.ID = " & Me.ID
Else
sql = "Update tblMahnungenTemp Set tblMahnungenTemp.Drucken = true Where tblMahnungenTemp.ID = " & Me.ID
End If
DoCmd.SetWarnings False
DoCmd.RunSQL sql
DoCmd.SetWarnings True
Me.Requery

End Sub

Bringt zwar auch pro Datensatz so 2-3 Sekunden Ladezeit mit sich aber eleganter bekomme ich es gerade nicht hin. Wenn jemand noch einen anderen Ansatz hat, kann er den ja gerne hier schreiben. :cool: