![]() |
|
![]() |
#1 |
![]() Neuer Benutzer |
![]() Hallo zusammen,
ich würde mich nochmal über eure Hilfe freuen. Ich verwalte die Mitglieder eines Vereins mit Access. Nachdem ich einiges selbst hinbekommen habe, komme ich nun nicht weiter. Ich würde gerne eine Abfrage erstellen, die mir ausgibt wer zu einem Stichtag 50 Jahre oder älter ist. Leider ändert sich der Stichtag immer mal wieder. In einer anderen Datenbank habe ich mal gesehen, das es eine Art POP-UP-Fenster gab in das man das Stichtagsdatum eintragen musste. Das ist aber nicht zwingend erforderlich, ich kann das Stichtagsdatum auch händisch in der Abfrage ändern. Die Mitgliedertabelle hat ein Feld "Geburtsdatum" vom Typ "Datum/Uhrzeit". Damit müsste das doch gehen. Über einen Tipp würde ich mich sehr freuen. Vielen Dank und viele Grüße fap |
![]() |
![]() ![]() |
![]() |
#2 |
![]() MOF Guru |
![]() Code: SELECT * FROM TabX WHERE Geburtsdatum <= DateAdd("yyyy", - 50, [DerStichtag]) __________________ Ein freundliches Glück Auf!Eberhard Abfrageperformance ist kein Geheimnis SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}:{11} Dein Dankeschön: DBWiki=>Spende |
![]() |
![]() ![]() |
![]() |
#3 |
Threadstarter
![]() ![]() Neuer Benutzer |
![]() @ebs17: Vielen Dank für deine schnelle Antwort!
Dein Können überfordert mich leider. ![]() Meine Abfrage sieht wie folgt aus, funktioniert aber nicht: https://img3.picload.org/image/dogdlopl/unbenannt.png Was mache ich falsch? Vielen Dank und viele Grüße fap |
![]() |
![]() ![]() |
![]() |
#4 |
![]() MOF Guru |
![]() Schau das Bild an, den Feldnamen GEB_DAT aus meinem Beispiel musst Du mit Deinem Feldnamen ersetzen.
__________________ WIN 10 Enterprise 64, ACCESS 2019 Wissenswertes: ACCESS-FAQHilfreiche Antworten kann es nur bei verständlichen Fragen geben! Anleitung dazu: Hier klicken | Auch hilfreich: Einführung in die Datenbank Microsoft Access. | Die Nachteile ![]() |
![]() |
![]() ![]() |
![]() |
#5 |
Threadstarter
![]() ![]() Neuer Benutzer |
![]() @elmar: Vielen Dank für deine Antwort!
Ich bekomme es leider auch mit deiner Hilfe nicht hin... Folgendes habe ich eingegeben: access-vorher.PNG Nach dem Speichern macht Access aus diesem Code: DatAdd("yyyy";-50;#30.06.2018#) Code: DatAdd("""yyyy""";-50;#30.06.2018#) Wenn ich die Abfrage dann ausführen will, kommt die Fehlermeldung: "Ungültiger Prozeduraufruf" |
![]() |
![]() ![]() |
![]() |
#6 |
![]() MOF Guru |
![]() @fap: Schau mal genau hin, das gehört nicht in die Kriterien
ausserdem: Tippfehler im Code, es fehlt das e: Code: DateAdd("yyyy";-50;#30.06.2018#) __________________ WIN 10 Enterprise 64, ACCESS 2019 Wissenswertes: ACCESS-FAQHilfreiche Antworten kann es nur bei verständlichen Fragen geben! Anleitung dazu: Hier klicken | Auch hilfreich: Einführung in die Datenbank Microsoft Access. | Die Nachteile ![]() Geändert von elmar (16.04.2018 um 23:36 Uhr). |
![]() |
![]() ![]() |
![]() |
#7 |
Threadstarter
![]() ![]() Neuer Benutzer |
![]() @elmar: Danke für deinen Hinweis!
Ich hatte das so aus deinem Post entnommen. Folgendes habe ich jetzt in der SQL-Ansicht eingetragen: Code: SELECT Mitgliederliste.Nachname, Mitgliederliste.Vorname, Mitgliederliste.Strasse, Mitgliederliste.PLZ, Mitgliederliste.Ort FROM Mitgliederliste WHERE Geburtsdatum <= DateAdd("yyyy";-50;#30.06.2018#)); |
![]() |
![]() ![]() |
![]() |
#8 |
![]() MOF Guru |
![]() ... WHERE Geburtsdatum <= DateAdd("yyyy", -50, #6/30/2018#);
|
![]() |
![]() ![]() |
![]() |
#9 |
![]() MOF Guru |
![]() Zitat: überfordert mich leider Auf Dauer wird die Verwendung eines Parameters praktikabler sein als ein Festeintrag, weil man dann auch über eine Bedienoberfläche die Abfrage variieren kann. __________________ Ein freundliches Glück Auf!Eberhard Abfrageperformance ist kein Geheimnis SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}:{11} Dein Dankeschön: DBWiki=>Spende |
![]() |
![]() ![]() |
![]() |
#10 |
![]() MOF Koryphäe |
![]() Ich habe mal eine kleine Musterrdatenbank angefügt. So kannst du fexibel das Alter oder auch die Mitglieder die z. B. 10 Jahre im Verein sind ermitteln. Du musst nur das Ganze anpassen.
__________________ Gruß aus dem schönen SH |
![]() |
![]() ![]() |
![]() |
#11 |
![]() MOF Guru |
![]() In der Beispiel-DB hat sich rainer176 alle Mühe gegeben, etwas an sich Funktionierendes hinzulegen, das auf keinen Fall in irgendweiner Weise einen Index nutzen könnte und daher kaum massentauglich ist:
Code: WHERE ( ( (Year(Now()) - Year([Geburtsdatum])) Like "*" &([Formulare]![Jubi]![SuchGeburt] & "*") OR (Year(Now()) - Year([Geburtsdatum])) IS NULL ) AND ( (Year(Now()) - Year([Beitrittsdatum])) Like "*" &([Formulare]![Jubi]![SuchJubi] & "*") OR (Year(Now()) - Year([Beitrittsdatum])) IS NULL ) ) __________________ Ein freundliches Glück Auf!Eberhard Abfrageperformance ist kein Geheimnis SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}:{11} Dein Dankeschön: DBWiki=>Spende |
![]() |
![]() ![]() |