Datenänderungen im gefilterten Endlos-Formular

Hallo!
Ich habe ein Endlos-Formular, in welchem ich mittels auswahlbasiertem Filter etc. die angezeigten Datensätze individuell filtere. Eine fest definierte Abfrage gibt es also nicht, da die Filterungen jeweils individuell sind.
Wie bekomme ich es (z.B. mit einem Button in der Fußzeile) hin, dass bei all diesen gefilterten Datensätzen eine Änderung vorgenommen wird (z.B. Steuerelement BEZAHLT auf „ja“ setzen)?
Änderungabfrage kommt m.E. nicht in Betracht, da die Abfrage nicht fest definiert ist. Richtig?

Hat jemand einen Lösungsvorschlag?

Danke

Hallo,

Ich habe ein Endlos-Formular, in welchem ich mittels
auswahlbasiertem Filter etc. die angezeigten Datensätze
individuell filtere. Eine fest definierte Abfrage gibt es also
nicht, da die Filterungen jeweils individuell sind.
Wie bekomme ich es (z.B. mit einem Button in der Fußzeile)
hin, dass bei all diesen gefilterten Datensätzen eine Änderung
vorgenommen wird (z.B. Steuerelement BEZAHLT auf „ja“ setzen)?
Änderungabfrage kommt m.E. nicht in Betracht, da die Abfrage
nicht fest definiert ist. Richtig?

Nein:

Currentdb.Execute "Update tbl_Tabelle set Bezahlt=True Where " & Me.Filter

Hat jemand einen (weiteren) Lösungsvorschlag?

Ja…

Sub btnSetzeBezahlt_Click()
Dim rs as Dao.Recordset
Set rs=Me.Recordset
On Error Resume next
rs.Movefirst
Do Until Rs.EOF
rs!Bezahlt=true
rs.Movenext
Loop
Set rs=Nothing
End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Sub btnSetzeBezahlt_Click()
Dim rs as Dao.Recordset
Set rs=Me.Recordset
On Error Resume next
rs.Movefirst
Do Until Rs.EOF
rs!Bezahlt=true
rs.Movenext
Loop
Set rs=Nothing
End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo! Ich komme nicht weiter. Ich habe die Prozedur wie von DF6GL angewendet, in dem ich sie auf einen Button im der Fußzeile des Endlos-Formulars gelegt habe. Nur leider funktioniert sie nicht. Der Curser springt zwar ans EOF, aber Datenänderungen finden nicht statt. Auch eine Fehlermeldung gibt es (erstmal) nicht. Nehme ich das ON ERROR raus, erhalte ich folgende Fehlermeldung:

Laufzeitfehler 3020: Update oder CancelUpdate ohne AddNew oder Edit.

Meine Prozedur sieht so aus:

Private Sub BezDatGO_Click()
Dim rs As DAO.Recordset
Set rs = Me.Recordset
'On Error Resume Next
rs.MoveFirst
Do Until rs.EOF
rs![RK-bezahlt?] = True
'die nachfolgenden Me-Felder sind ungebundene Felder am Fußende des Forms. Der Fehler taucht aber bereits in der hierüber stehen Zeile auf.
rs![bezahltWie] = Me![R_NB]
rs![RK-Rechnungsnummer] = Me![R_N]
rs![RK-Prüfer] = Me![R_P]
rs.MoveNext
Loop
Set rs = Nothing
End Sub

Was mache ich falsch?

Ha,

es fehlen zwei Statements:

Do Until rs.EOF
rs.Edit
rs![RK-bezahlt?] = True
'die nachfolgenden Me-Felder sind ungebundene Felder am Fußende des Forms. Der Fehler taucht aber bereits in der hierüber stehen Zeile auf.
rs![bezahltWie] = Me![R_NB]
rs![RK-Rechnungsnummer] = Me![R_N]
rs![RK-Prüfer] = Me![R_P]
rs.Update
rs.MoveNextLoop

wobei:

  1. solche Benamsungen mit Sonderzeichen einem schnell den HAls brechen.
  2. nicht minder die Speicherung ungebundener Felder redundand in den Recordset (Tabelle)
  3. beachtet werden sollte, was im Falle von „leeren“ Form-Feldern abgespeichert werden soll.

Gruß
Franz

ok, vielen Dank. Ich probiere es mal aus.

Die nachfolgenden Anmerkungen habe ich schon erwartet…

wobei:

  1. solche Benamsungen mit Sonderzeichen einem schnell den Hals
    brechen.

der minder-IQ-tisierte Kollege vor mir hat diese Feldbezeichnungen verwendet (wohl nur gefährliches Halbwissen in der Materie). Im Zuge der Reorganisation des Ganzen nun werde ich auch dies peut-a-peut ändern.

  1. nicht minder die Speicherung ungebundener Felder redundand
    in den Recordset (Tabelle)

danke für den Hinweis, hier fällt mir sicher noch was hübscheres ein

  1. beachtet werden sollte, was im Falle von „leeren“
    Form-Feldern abgespeichert werden soll.

Hier gibt es Logik-Abfragen, die leere Felder nicht zulassen werden. Falls doch was leer: Abbruch der Sub.

DANKE!