2

Access Abfrage-Funktionen

Frage von Ausfliplady Ausfliplady

Aufgabe 1: Alle Bücher, die älter als 17 Jahre sind;

Ich habe nur 1 Tabelle die die Felder: Titel, Autor, Ort, Jahr, Regal, Sachgebiet und Verlag beinhaltet.

Für die Optik habe ich halt die Felder Titel und Autor genommen Doch um die 17-jährigen Bücher und ältere abzufragen soll ich nicht einfach nur im Kriterium "<=1992" eingeben, sondern da war noch was mit der Funktion HEUTE() - [Jahreszahl] oder so und in einem weiteren Feld muss man halt i.wie Alter:[ und bei Kriterium [Jahreszahl] eingeben um im Parameterwert dann 17 einzutragen. Aber i.wie blicke ich da nicht durch und brauche Hilfe mit einer guten Erklärung und nicht diese Online-Workshops für Access!

Fragen zu gleichen Themen finden

Antworten (5)

  • 0
    Hilfreichste Antwort ausgezeichnet vom Fragesteller
    Antwort von adi120369 adi120369

    Die Funktion Heute() gibt es in Access nicht. Hier gibt es Jetzt() und Datum(). Und wenn Du "Datum()-17" rechnest, wird vom heutigen Datum abzgl. 17 TAGEN gerechnet. Entweder Du nimmst "Datum() - 6205" (365 * 17) oder die sauberere Lösung mit der DatDiff-Funktion. Hier kannst Du angeben in welcher Einheit (Intervall) Du eine Datumsdifferenz berechnen möchtest (Tage, Monate, Jahre, KW, Quartal, etc...). Dann trägst Du noch ein, welches das eine Datum und welches das andere Datum ist. Beispiel, um ein Alter in Jahren zu berechnen: DatDiff("jjjj";[Geburtsdatum];Datum()). In Deinem Fall wäre dies DatDiff("jjjj";[Jahr];Datum()). Hier bekommst Du dann die Anzahl der Jahre bis heute angezeigt. Hier kannst Du dann im Kriteriumsbereich unter dem Feld ">=17" eintragen und bekommst alle Bücher, gleich oder älter 17 Jahre. Tipp: Vermeide die Vergabe von Feldnahmen, die sgn., geschützte Begriffe sind, wie z.B. "Name", "Jahr", "Anzahl", "Summe", etc... . Dies funktioniert meißtens, kann aber in z.B. Berichten dennoch zu Problemen führen. So, ich hoffe dass Deine Frage beantwortet ist, Gruß Armin Dippel

  • 0
    Antwort von adi120369 adi120369

    @Pinowski: Der Ausdruck "Datum())-[Jahreszahl]" liefert Dir bei z.B. "19.03.2009 - 1993" ein Ergebnis, welches das heutige Datum minus 1993 Tage berechnet

    Kommentar von Pinowski Pinowski

    Deshalb steht auch da Jahr(Datum()) !! Richtig lesen, dann meckern! Jahr(Datum()) liefert die Jahreszahl des aktuellen Datums und davon wird der einzugebene Parameter abgezogen.

    MfG Pino

  • 0
    Antwort von Pinowski Pinowski

    Moin,

    Öffne deine Abfrage zum bearbeiten und klicke dort neben deine Tabelle auf die freie graue Fläche mit der rechten Maustaste. In dem sich öffnendem Menü dann auf "Parameter" und dann gibst du als Parameter Jahreszahl ein und als Felddatentyp wählst du Integer aus. Mit OK bestätigen und dann beim Kriterium deines Feldes "Jahr" folgendes eingeben:

    <Jahr(Datum())-[Jahreszahl]

    fertig.

    Hoffe, das hilft!

    MfG Pino

  • 0
    Antwort von Druide Druide

    Also wenn ich dich richtig verstanden habe willst du eine Dynamische Abfrage erstellen die Abfragt ob dein Buch älter als 17 Jahre ist, vom aktuellen Datum her gesehen.

    denke das sollte einfach mit dem Kriterium heute()-17 erreicht werden, wobei ich mir nicht sicher bin was die Funktion heute genau liefert, vielleicht musst du das noch verändern so das es nur die Jahreszahl ist, leider sitzte ich gerade an einem PC ohne Access :(

  • 0
    Antwort von Igelchen1983 Igelchen1983

    schau mal auf fachinformatiker.de da gibt es gute hilfen zu mysql. Schau mal direkt ins Forum.

Diese Frage

Verwandte Fragen

Noch nicht den richtigen Rat gefunden?

Einfach und schnell viele hilfreiche Ratschläge von Deutschlands aktivster Ratgeber-Community erhalten!

Einfach und schnell einen Tipp erstellen und Ihren guten Rat mit anderen teilen!

Einfach und schnell ein Video hochladen und anschaulichen Rat an alle geben!

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.