collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 53
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13808
  • stats Beiträge insgesamt: 64199
  • stats Themen insgesamt: 8683
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Problem mit filterausdruck  (Gelesen 380 mal)

Offline theophilos

  • Newbie
  • Beiträge: 2
Problem mit filterausdruck
« am: September 07, 2017, 12:23:20 »
Hallo zusammen,
ich habe folgendes Problem: beim Filtern eines Berichtes tritt ein seltsamer Fehler auf. Wenn ich ein Datumsfeld so filtere, das nur Datensätze mit einem Datum aus dem aktuellen Jahr berücksichtigt werden klappt alles reibungslos. Wenn ich anschließend ein weiteres Datumsfeld ebenfalls auf Datumswerte für das aktuelle Jahr filtere, bekomme ich die Fehlermeldung, dass er die Funktion Jahr nicht kennt. Ich hab mir den Ausdruck mal anzeigen lassen, und das seltsame ist, dass beim einem gesetzten Filter die englische Funktion Year und bei dem anderen Ausdruck die deutsche Funktion Jahr im Filterausdruck auftaucht. Er sieht wie folgt aus:
(((Jahr([Berichtsname].[Datumsfeld1])=Year(Date()))))AND(Year([Berichtsname].[Datumsfeld2])=Year(Date()))
Der Funktionsausdruck Jahr kann nicht verarbeitet werden. Warum überhaupt einmal Jahr und sonst nur Year benutzt wird ist mir völlig unklar. Ich erzeuge diesen Ausdruck übrigens durch ein Kontextmenü mit dem Standartfilterangebot 'Jahr' und mit Access 365. Wäre schön wenn jemand einen Tipp hätte.
Danke schon mal
 

Offline PhilS

  • Administrator
  • Access-Profi
  • *****
  • Beiträge: 274
    • Tipps zu Access, VBA, SQL und Co.
Re: Problem mit filterausdruck
« Antwort #1 am: September 07, 2017, 13:30:45 »
Kannst du den Funktionsnamen Jahr manuell durch das englische Year ersetzen?

Ich verstehe nicht ganz, wie du diesen Filterausdruck erzeugst. Auch dass ein "Berichtsname" darin vorkommt erscheint mir eigenartig. Eigentlich sollte das der Name der Tabelle oder Abfrage sein, auf die der Bericht aufbaut.
 
Folgende Mitglieder bedankten sich: theophilos

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7020
Re: Problem mit filterausdruck
« Antwort #2 am: September 07, 2017, 13:53:39 »
Hallo,
die Eindeutschung von Access ist nicht konsequent und teilweise unsinnig implementiert.
Es ist daher vorteilhaft, die englischen Ausdrücke zu verwenden. Wenn das deutsche Äquivalent erkannt wird, wird automatisch geändert.
Außerdem würde ich mal die Klammerinflation beseitigen und den Berichtsnamen halte ich hier auch für überflüssig.
Versuche es mal so:
Year([Datumsfeld1])=Year(Date()) AND Year([Datumsfeld2])=Year(Date())
Gruß
Klaus
 
Folgende Mitglieder bedankten sich: theophilos

Offline theophilos

  • Newbie
  • Beiträge: 2
Re: Problem mit filterausdruck
« Antwort #3 am: September 07, 2017, 14:19:29 »
Hallo,
der Ausdruck wird nicht händisch erzeugt, sondern von Access selbst. Er entsteht dadurch, dass die Benutzer einen angezeigten Bericht mit den im Kontextmenü zur Verfügung stehenden Filterausdrücken filtern können. Dies funktioniert auch tadellos, solange es kein Filter ist, der sich aus einer UND oder ODER Verknüpfung ergibt (Beim Zahlenfilter funktiert auch das). Was halt die Sache völlig undurchsichtig macht, ist dieses Durcheinander der englischen und deutschen Funktionsnamen. Wahrscheinlich werde ich mir die Arbeit machen müssen, den Filterausdruck, den die Benutzer erzeugen mit VBA zu vereinheitlichen.
Blöd und doppelte Arbeit, aber wahrscheinlich nicht anders zu lösen.
Trotzdem Danke für die Hinweise und vielleicht findet ja jem. noch eine Schraube, an der man drehen kann.