Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Fehler mit VBA Filter/Parameterübergabe
Gehe zu Seite 1, 2  Weiter
zurück: Falsche Berechnung bei Multiplikation im VBA-Access weiter: Rechnungsstatus in Rechnungsnummer darstellen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
mscola
Im Profil kannst Du frei den Rang ändern


Verfasst am:
05. Feb 2014, 17:25
Rufname:

Fehler mit VBA Filter/Parameterübergabe - Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Hallo

Ich habe einen Bericht und die Datensatzquelle ist eine Abfrage.
Die Abfrage erwartet ein Parameter - ein Datum.

Beim Öffnen des Formulars prüfe ich ob ein Argument übertragen wurde:

Code:
    If IsNull(Me.OpenArgs) Then
        datAbholdatum = Date
        With Me
        .Filter = "tblRecyclingTaxiAbholungen.Datum=" & datAbholdatum
        .FilterOn = True
        End With


Beim Öffnen des Formulars kriege ich dann aber folgende Fehlermeldung:
Syntaxfehler in Zahl in Abfrageausdruck '( ..... (siehe Bild)
Woher kommt diese Klammer??? Die (gespeicherte) Abfrage funktioniert sehr gut.

Danke für die Hilfe

Massimo



screenshot.PNG
 Beschreibung:
 Dateigröße:  13.37 KB
 Angeschaut:  244 mal

screenshot.PNG


derArb
getting better


Verfasst am:
05. Feb 2014, 17:41
Rufname: derArb
Wohnort: Berlin


AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Hallo,
es muss amerikanisches Datumsformat sein.
Google mal nach: FCDatSQL

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
mscola
Im Profil kannst Du frei den Rang ändern


Verfasst am:
05. Feb 2014, 17:52
Rufname:

AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Ah OK, also nicht das mm/dd/yyyy Format.

Nun ich denke dass das Problem bei mir die Abfrage ist. Denn ich muss weiterhin ein Datum manuell eintragen und ich hatte dieses Problem schon mehrere male. Soll ich hier schreiben oder woanders posten?
derArb
getting better


Verfasst am:
05. Feb 2014, 17:59
Rufname: derArb
Wohnort: Berlin

AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Hallo,
benutze doch einfach diese von mir angemerkte Funktion von Willi Wipp.
Das geht in VBA und auch Abfragen (in berechneten Feldern).

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
mscola
Im Profil kannst Du frei den Rang ändern


Verfasst am:
05. Feb 2014, 18:05
Rufname:


AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Ich bin mir nicht sicher ob ich die Abfrage richtig geschrieben habe.

Ich bin doch schon richtig der Annahme dass der Filter der WHERE Teil der SQL Query ist oder? Siehe mein Beispiel.



Abfrage0.PNG
 Beschreibung:
 Dateigröße:  10.16 KB
 Angeschaut:  215 mal

Abfrage0.PNG



Abfrage1.PNG
 Beschreibung:
So rufe ich dich Abfrage auf
 Dateigröße:  4.8 KB
 Angeschaut:  215 mal

Abfrage1.PNG



Abfrage2.PNG
 Beschreibung:
So sieht meine Abfrage aus.
 Dateigröße:  1.41 KB
 Angeschaut:  215 mal

Abfrage2.PNG



Abfrage3.PNG
 Beschreibung:
 Dateigröße:  2.57 KB
 Angeschaut:  215 mal

Abfrage3.PNG


derArb
getting better


Verfasst am:
05. Feb 2014, 18:28
Rufname: derArb
Wohnort: Berlin

AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Hallo, schick lieber das SQL-Statement der Abfrage.
Gehe dazu in die SQL-Ansicht der Abfrage.
Dann Copy/Paste hier rein.

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
mscola
Im Profil kannst Du frei den Rang ändern


Verfasst am:
05. Feb 2014, 18:34
Rufname:

AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Hier die SQL Abfrage:

Code:
SELECT tblRecyclingTaxiAbholungen.Datum, [Vorname] & " " & [Nachname] AS Kunde, [Strasse] & " " & [Nr] & ", " & [Ort] AS Adresse, tblRecyclingTaxiAbholungen.Memo
FROM ((tblKunden INNER JOIN tblKunden_Adressen ON tblKunden.KundenID = tblKunden_Adressen.KundenID_FK) INNER JOIN tblRecyclingTaxiVerkaufteAbos ON tblKunden.KundenID = tblRecyclingTaxiVerkaufteAbos.KundenID_FK) INNER JOIN tblRecyclingTaxiAbholungen ON tblRecyclingTaxiVerkaufteAbos.RecyclingTaxiAboID = tblRecyclingTaxiAbholungen.RecyclingTaxiAboID_FK
WHERE (((tblRecyclingTaxiAbholungen.Datum)=[dteDatum]));
Nouba
nicht ganz unwissend :)


Verfasst am:
05. Feb 2014, 21:00
Rufname:
Wohnort: Berlin

AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Hallo,

im speziellen Fall sollte auch .Filter = "tblRecyclingTaxiAbholungen.Datum = Date()" möglich sein. Und wenn nur ein Feld in der Abfrage Datum (meckert da Access 2010 beim Anlegen des Namens nicht schon Rolling Eyes ) heißt, geht's noch kürzer mit .Filter = "Datum = Date()"

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
mscola
Im Profil kannst Du frei den Rang ändern


Verfasst am:
05. Feb 2014, 22:07
Rufname:

AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Hi

Nein, Access hat nicht gemeckert. Ist die Vorgehensweise, um die gespeicherte Abfrage aufzurufen/mit Parameter, korrekt? Der .Filter ist die WHERE clause, oder?
Nouba
nicht ganz unwissend :)


Verfasst am:
05. Feb 2014, 22:53
Rufname:
Wohnort: Berlin

AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Hallo,

ja, das Filter (das Genus ist bei Filter als technischem Begriff das Neutrum) hat die selbe Syntax wie die Where-Klausel einer Abfrage ohne das Schlüsselwort Where. Zum korrekten Aufbau eines Filterkriteriums eignet sich die Funktion BuildCriteria (siehe VBA OL-Hilfe).

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
mscola
Im Profil kannst Du frei den Rang ändern


Verfasst am:
06. Feb 2014, 12:21
Rufname:

AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Es funktioniert immer noch nicht mit dem Datum.
Hier mal einen Teil der DB. Bin sehr dankbar für die Hilfe die ich hier erhalte.



DBmitFehler.zip
 Beschreibung:

Download
 Dateiname:  DBmitFehler.zip
 Dateigröße:  96.4 KB
 Heruntergeladen:  1 mal

MissPh!
Office-VBA-Programmiererin


Verfasst am:
06. Feb 2014, 13:18
Rufname:
Wohnort: NRW

AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Hi,

entferne die Ereignisprozedur im Bericht und übergib den Filter als "WhereCriterium" und nicht (nur das Datum) als "OpenArgs"-Parameter.
Ändere den Datenfeldnamen "Datum" bspw. in "abDatum", denn reservierte Namen sollte man grundsätzlich nicht benutzen (das gilt auch für "Memo").
Schließlich entferne noch das Kriterium aus der Abfrage.

Ich hoffe, nichts übersehen zu haben, testen kann man das nicht, weil Tabellen fehlen.

PS:
Auf die Übergabe des Parameters beim Aufruf von "DayDoubleClicked" kann verzichtet werden (zumal du ihn eh nicht genutzt hast!) und anstatt in jedes einzelne Kalenderfeld den Funktionsaufruf (mit Parameter) hineinzuschreiben, kann der Funktionsaufruf (ohne Parameter) per Mehrfachmarkierung mit einem einzigen Eintrag in alle Ereignisse geschrieben werden.
Die Funktion ändert sich dann wie folgt:
Code:
Private Function DayDoubleClicked()
    Dim dteMyDate As Date, intDayClicked As Integer
    intDayClicked = Me("box" & Mid(Screen.ActiveControl.Name, 4)).Value
    dteMyDate = DateSerial(intPubMyYear, intPubMonth, intDayClicked)
    DoCmd.OpenReport "rptRecyclingTaxiAbholungen", acViewReport, , "abDatum=" & Format(CDate(dteMyDate), "\#mm\/dd\/yyyy\#")
End Function

_________________
Gruß MissPh!
mscola
Im Profil kannst Du frei den Rang ändern


Verfasst am:
06. Feb 2014, 14:14
Rufname:

AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Ich habe die von dir vorgeschlagenen Änderungen gemacht, dennoch kriege ich einen Fehler beim WHERE Kriterium. Ich habe die fehlende Tabelle (mit den Adressen) noch importiert.

Was ich nicht verstehe ist dass Access nun meckert dass "Ein benanntes Argument bereits angegeben ist". Das Argument wird ja zwischen Anführungszeichen gesetzt?



DBFehler.png
 Beschreibung:
 Dateigröße:  21.36 KB
 Angeschaut:  135 mal

DBFehler.png



DBmitFehler2.zip
 Beschreibung:

Download
 Dateiname:  DBmitFehler2.zip
 Dateigröße:  201.14 KB
 Heruntergeladen:  2 mal

MissPh!
Office-VBA-Programmiererin


Verfasst am:
06. Feb 2014, 14:21
Rufname:
Wohnort: NRW

AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Lass die Hochkommata weg, ein Datum ist kein Text.

Und die Formatierung solltest du schon so übernehmen wie ich es dir gezeigt hatte.

PS:
Der Filter muss aus dem Bericht entfernt und der geänderte Datenfeldname muss dort auch noch berücksichtigt werden.

_________________
Gruß MissPh!
mscola
Im Profil kannst Du frei den Rang ändern


Verfasst am:
06. Feb 2014, 15:18
Rufname:


AW: Fehler mit VBA Filter/Parameterübergabe - AW: Fehler mit VBA Filter/Parameterübergabe

Nach oben
       Version: Office 2010

Es klappt fast. Razz Die Daten werden übermittelt und der Bericht öffnet sich.
Nur wird jetzt die Abfrage nicht richtig durchgeführt: Es werden alle Daten angezeigt. Es scheint dass die WHERE cause nicht berücksichtigt wird.

Irgendwo liegt nun der Fehler. Liegt er beim Kalender:

Code:
 DoCmd.OpenReport "rptRecyclingTaxiAbholungen", acViewReport, , , , "abDatum=" & Format(CDate(dteMyDate), "\#mm\/dd\/yyyy\#")


oder dass kein Filter im Bericht vorhanden ist?



DBmitFehler3.zip
 Beschreibung:

Download
 Dateiname:  DBmitFehler3.zip
 Dateigröße:  145.43 KB
 Heruntergeladen:  0 mal

Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler bei Import von Datum aus Excel 6 ssesche 1526 03. Jul 2012, 10:40
Gast Fehler bei Import von Datum aus Excel
Keine neuen Beiträge Access Tabellen & Abfragen: Filter für Anzeigeformular 2 chris1337 687 10. Mai 2006, 08:27
chris1337 Filter für Anzeigeformular
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler in der selectanweisung Hilfe!!!!!!!!!!!!!! 6 vbatobi 891 18. Apr 2006, 13:24
chris1337 Fehler in der selectanweisung Hilfe!!!!!!!!!!!!!!
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit variablem Filter A2K 5 Gast 983 18. Apr 2006, 11:52
Gast Abfrage mit variablem Filter A2K
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler in Löschabfrage!! 4 BorisDieKlinge 1623 12. Apr 2006, 13:17
BorisDieKlinge Fehler in Löschabfrage!!
Keine neuen Beiträge Access Tabellen & Abfragen: Access abfrage mittels SQL gibt Fehler... 1 Doris72 692 27. Feb 2006, 20:44
jens05 Access abfrage mittels SQL gibt Fehler...
Keine neuen Beiträge Access Tabellen & Abfragen: Übergabe eine Variable verursacht Fehler 2 blicki 714 16. Feb 2006, 10:42
blicki Übergabe eine Variable verursacht Fehler
Keine neuen Beiträge Access Tabellen & Abfragen: Stichwort Filter Abfrage 3 AIGE 5749 30. Jan 2006, 19:14
accessmichel Stichwort Filter Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrere Abfragen als filter für Tabelle in Formular ausgeben 0 artecnet 1012 27. Jan 2006, 10:27
artecnet Mehrere Abfragen als filter für Tabelle in Formular ausgeben
Keine neuen Beiträge Access Tabellen & Abfragen: Filter mit Hilfe des Datums 1 Highway 578 16. Dez 2005, 13:17
Willi Wipp Filter mit Hilfe des Datums
Keine neuen Beiträge Access Tabellen & Abfragen: Neuer Datensatz trotz aktivem Filter 2 pukamon 595 17. Nov 2005, 10:48
pukamon Neuer Datensatz trotz aktivem Filter
Keine neuen Beiträge Access Tabellen & Abfragen: wo ist der fehler (sql) ? 4 Gast 913 26. Okt 2005, 17:59
jens05 wo ist der fehler (sql) ?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Macromedia Dreamweaver