Neuigkeiten:

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

Mobiles Hauptmenü

Filter Recordset funktioniert nicht

Begonnen von JE-2017, Dezember 05, 2019, 16:46:19

⏪ vorheriges - nächstes ⏩

JE-2017

Hallo Liebe Community,

ich schetere seit nun mehr seit 2 Tagen an meinem VBA-Code und hoffe auf eure Hilfe.
Ziel ist es Daten aus einer Abfrage mittels 3 Kriterien zu filtern und dann in ein Vorbereitetes Excel zu übertragen.

Im beigefügten Code habe ich das ganze erst einmal mit einem Filterkriterium versucht.
Der Dubugger springt immer wieder auf die Zeile:
Set rs.Filter = "BUKRS alt = '0400'"
Dabei erhalte ich die Fehlermeldung:

"Fehler beim Kompilieren: Unzulässige Verwendung einer Eigenschaft"

Anbei der Code und Vielen Dank im Voraus:
Private Sub cmdErstellungAbstimmlisten_Click()
   
    Dim rs As DAO.Recordset
    Dim rsFilter As DAO.Recordset
    Dim xlApp As Object
    Dim xlWb As Object
    Dim xlSheet_Abgänge As Object
    Dim xlSheet_Zugänge As Object
    Dim Zielpfad As String
    Dim Pfad_Muster As String
    Dim Speichername As String
   
   
    Zielpfad = Me.txtZielpfad
    Pfad_Muster = Me.txtMusterAbstimmliste
       
    Select Case Me.chkAllBukrs
   
        Case True
       
            MsgBox "true"
       
        Case False
   
            Set rs = CurrentDb.OpenRecordset(qryErstellungAbstimmlisteBUKRS)
            Set rs.Filter = "BUKRS alt = '0400'"  'später Übergabe per Variable aus Formular
            Set rsFilter = rs.OpenRecordset
            Set xlApp = CreateObject("Excel.Application")
            xlApp.Visible = True
            Set xlWb = xlApp.Workbooks.Open(Pfad_Muster)
            Set xlSheet_Abgänge = xlWb.Sheets("Abgänge")
            Set xlSheet_Zugänge = xlWb.Sheets("Zugänge")
            xlSheet_Abgänge.Cells(2, 1).CopyFromRecordset rs
            xlWb.Sheets("Zugänge").Select
            xlSheet_Zugänge.Range("A2").Select
            xlSheet_Zugänge.Range("A2").CopyFromRecordset rs
            xlWb.Sheets("Abgänge").Select
            Speichername = Zielpfad & "\" & Me.txtBukrs & "_Abstimmliste.xlsx"
            xlWb.saveas Speichername, 51
            xlWb.Close
            xlApp.Application.Quit
            Set rs = Nothing
            Set xlApp = Nothing
            Set xlWb = Nothing
            Set xlSheet_Abgänge = Nothing
            Set xlSheet_Zugänge = Nothing
   
    End Select

End Sub


Gruß JE-2017

Beaker s.a.

@JE-2017
.Openrecordset erwartet den Namen der Abfrage als String.
Set rs = CurrentDb.OpenRecordset("qryErstellungAbstimmlisteBUKRS")
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DF6GL

Hallo,




lt. Fehlermeldung:

            Set rs.Filter = "[BUKRS alt] = '0400'"  'später Übergabe per Variable aus Formular


zudem sind Eckklammern wegen Leerzeichen im Namen erforderlich.


Warum nicht gleich:

Set rs = CurrentDb.OpenRecordset("Select * from qryErstellungAbstimmlisteBUKRS Where [BUKRS alt] = '0400'")

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

JE-2017

Danke an euch beiden, manchmal sieht man den Wald vor lauter Bäumen nicht mehr.

das "Set" habe ich volkommen verpeilt...

mit den Klammern und den "" hatte ich beim rumexperimentieren zwischenzeitlich vergessen.

Danke und eine schöne Weihnachtszeit!