Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Geburtstagsvorschau
Gehe zu Seite 1, 2  Weiter
zurück: Startformular mit automatisierten Loading weiter: Datensätze zählen (Unterformular) Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
ernades
Im Profil kannst Du frei den Rang ändern


Verfasst am:
07. Nov 2008, 09:42
Rufname:

Geburtstagsvorschau - Geburtstagsvorschau

Nach oben
       Version: Office 2003

Hallo Access-Freunde,

habe ein kleines Problem, das dieser Tage in meiner neuen Vereinsdatenbank aufgetreten ist. In einer Geburtstagsvorschau lasse ich mir die Geburtstage der letzten 7 und der kommenden 60 Tage anzeigen. Dies hat über die letzten Monate wunderbar funktioniert. Doch urplötzlich funktioniert meine Abfrage nicht mehr. Meine Vorschau bleibt einfach leer.
Meine Formeln in der Abfrage sehen folgendermaßen aus: Für die letzten 7 Tage …
Code:
DatSeriell(Jahr(Datum()-7);Monat([GebDatum]);Tag([GebDatum]))
und die nächten 60 Tage
Code:
DatSeriell(Jahr(Datum()+60);Monat([GebDatum]);Tag([GebDatum]))
und in den Kriterien steht
Code:
Zwischen (Datum()-7) Und (Datum()+60)
Meine bescheidenen Access-Kenntnisse sagen mir, dass dies mit der Überschreitung der Jahresgrenze zu tun haben muss, was mir ein kleiner Test auch bestätigt. Wenn ich die Vorschau von 60 auf 30 Tage reduziere, dann funktioniert wieder alles.

Wie müssen meine Formeln aussehen um über die Jahresgrenze zu kommen? Könnte mir da jemand helfen?

Gruß ernades
Kabutoo
Access lerning by doing Möchtegern


Verfasst am:
07. Nov 2008, 10:53
Rufname:


AW: Geburtstagsvorschau - AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

Hi ernandes,

Ich finde es ja schon seltsam dass bisher Datum()+60 und Datum()-7 funktioniert hat... Benutze die DateAdd Function wenn Du etwas dazu oder wegrechnen willst. Die OnlineHilfe hilft Dir da sicher weiter. Um ein Datum +60 Tage zu erhalten sähe das so aus:
Code:
DateAdd("d";60;Date())
und um Datum - 7 Tage zu erhalten:
Code:
DateAdd("d";-7;Date())

Gruss,
Kabutoo
Marmeladenglas
komme zurecht


Verfasst am:
07. Nov 2008, 11:15
Rufname:

AW: Geburtstagsvorschau - AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

@Kabutoo:
Worin siehst du ein Problem ? Datum() + x macht keine Probleme.
Das vorgeschlagene DateAdd löst nicht sein Problem.

Ich denke dein Problem liegt im Kriterium.
Die beiden Kriterien in den beiden Spalten sind wahrscheinlich über ein AND verknüpft, sollten aber über ein OR verknüpft sein ! Deine Vermutung, dass der Jahreswechsel eine Rolle spielt trifft zu.
z.b. Jemand hat am 01.01.xxxx Geburtstag.
Anzuzeigende DS wären vom 31.10 - 06.01.2009 (vom heutigen Datum ausgehend).
In der ersten Spalte steht bei dir dann 01.01.2008 , in der zweiten Spalte 01.01.2009
Für die 1.Spalte trifft dein Kriterium nicht zu, also würde in der Abfrage ausselektiert , jedoch trifft dein 2tes Spaltenkriterium zu, da der 01.01.2009 zwischen dem 31.10.2008 - 06.01.2009 liegt . Aktuell liegt wahrscheinlich bei dir eine AND Verknüpfung vor: Bei einer AND-Verknüpfung ergibt aber FALSE AND TRUE -> FALSE, deshalb wird der DS nicht dargestellt.
Das Kriterium sollte wohl so aussehen
.....
Code:
.....(((DateSerial(Year(Date()+60),Month([GebDatum]),Day([GebDatum]))) Between Date()-7 And Date()+60)) OR (((DateSerial(Year(Date()-7),Month([GebDatum]),Day([GebDatum]))) Between Date()-7 And Date()+60))

Wenn heutiges Datum +60 bzw. -7 im gleichen Jahr liegt, macht das ganze keine Probleme, weil beide Kriterien als Resultat ein TRUE ergeben.
Kabutoo
Access lerning by doing Möchtegern


Verfasst am:
07. Nov 2008, 11:32
Rufname:

Re: AW: Geburtstagsvorschau - Re: AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

ok, hast recht, es geht bei Tagen. Ich benutz es nie und finds unschön ;)

Vieleicht kannst Du den SQL Code der Abfrage hier posten?

Gruss,
Kabutoo

PS: Für die Kriterien:
AND: selbe Linie
OR: neue Linie
Gast



Verfasst am:
07. Nov 2008, 11:52
Rufname:


AW: Geburtstagsvorschau - AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

Hallo Kabutoo,

vielen Dank für Deine schnelle Antwort. Habe es mit Deiner Formel versucht, die auch laut Online-Hilfe völlig richtig ist, aber es schleicht sich ein Fehler ein, den ich leider nicht korregieren kann. Sowie ich die Formel fertig geschrieben habe und das Feld in der Abfrage verlasse, fügt sich automatisch ein "\" vor das "d" und es sieht dann so aus "\d".
Code:
DateAdd("\d";60;Date())
Rufe ich dann die Abfrage auf, so erscheint die Fehlermeldung "ungültiger Prozeduraufruf". Wieso fügt sich dieses Zeichen "\" automatisch in die Formel ein?

MfG ernades
Marmeladenglas
komme zurecht


Verfasst am:
07. Nov 2008, 12:05
Rufname:

AW: Geburtstagsvorschau - AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

hi,
hast du denn meinen Lösungsvorschlag mal ausprobiert bzw. registriert/gelesen ?
Gast



Verfasst am:
07. Nov 2008, 12:26
Rufname:

AW: Geburtstagsvorschau - AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

Hallo Marmeladenglas,

danke für Deine Hilfe. Ich war wohl gerade am verfassen der Antwort an Kabutoo als Dein Tipp kam. Ich habe ihn auch schon schnell ausprobiert und er funktioniert fast so wie ich es mir vorstelle. Wenn ich vom heutigen Datum ausgehe und 60 Tage hinzu addiere, dann erscheinen in meiner Liste die ersten Geburtstage im Januar, allerdings für das Jahr 2008 und nicht für das nächste Jahr 2009. Ich glaube hierfür ist meine Sortierung in der Abfrage verantwortlich. Aber wie müsste die dann aussehen?
Code:
Sortierung: DatSeriell(Jahr(Jetzt());Monat([GebDatum]);Tag([GebDatum]))

MfG ernades
TommyK
Im Profil kannst Du frei den Rang ändern


Verfasst am:
07. Nov 2008, 12:39
Rufname:
Wohnort: Sachsen

AW: Geburtstagsvorschau - AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

Zitat:
Wieso fügt sich dieses Zeichen "\" automatisch in die Formel ein?
Weil das englische Schreibeweise für VBA wäre.
im Abfrageneditor muss es lauten:
Code:
DateAdd("t";60;Date())

_________________
Gruß Tommy
ernades
Im Profil kannst Du frei den Rang ändern


Verfasst am:
07. Nov 2008, 12:52
Rufname:

AW: Geburtstagsvorschau - AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

Hallo TommyK,

danke für Deinen Tipp. In der Online-Hilfe steht es aber genau so wie es Kabutoo beschrieben hatte. Damit ist auch auf die Online-Hilfe nicht immer Verlass.
Nochmals Danke.

MfG ernades
Marmeladenglas
komme zurecht


Verfasst am:
07. Nov 2008, 13:01
Rufname:

AW: Geburtstagsvorschau - AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

hi,
vielleicht habe ich deine Darstellung falsch interpretiert. Im Anhang, mal "deine" DB wie ich es aufgefasst hatte !



Geb.zip
 Beschreibung:

Download
 Dateiname:  Geb.zip
 Dateigröße:  26.31 KB
 Heruntergeladen:  14 mal

ernades
Im Profil kannst Du frei den Rang ändern


Verfasst am:
07. Nov 2008, 13:25
Rufname:

AW: Geburtstagsvorschau - AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

Hallo Marmeladenglas,

habe mir Deine kleine DB angeschaut. Wenn ich die Abfrage starte ( ausführe ), dann sollten die kommenden Geburtstage im Dezember aber noch mit dem Jahr 2008 angezeigt werden und die Geburtstage ab Januar mit dem Jahr 2009.
Das funktioniert in Deiner Abfrage so nicht.

MfG ernades
Marmeladenglas
komme zurecht


Verfasst am:
07. Nov 2008, 13:28
Rufname:

AW: Geburtstagsvorschau - AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

Wie gesagt, das war so wie ich es interpretiert hatte, die Darstellung des alten und des neuen Jahres, dienen in meiner Abfrage nur als HIlfsfelder und sollen nicht zur Anzeige gebracht werden, vielmehr nur der ursprüngliche Geburtstag und nicht der nächste Geburtstag im vorgegebenen Zeitraum.
Anbei mal eine Version in der die nächsten Geburtstage dargestellt werden.
Ausgehend von meiner Interpretation deines Modells Laughing



GebNeu.zip
 Beschreibung:

Download
 Dateiname:  GebNeu.zip
 Dateigröße:  38.17 KB
 Heruntergeladen:  30 mal

ernades
Im Profil kannst Du frei den Rang ändern


Verfasst am:
07. Nov 2008, 13:56
Rufname:

AW: Geburtstagsvorschau - AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

Hallo Marmeladenglas,

vielen, vielen Dank!!! Jetzt funktioniert es so wie ich es mir vorstelle. Damit entfällt meine zusätzliche Sortierung und auch die Formel in den Kriterien. Klasse!!!

Nochmals vielen Dank Marmeladenglas und auch ein Dankeschön an alle andern, die sich meinem Problem angenommen hatten.

MfG ernades
Willi Wipp
Moderator


Verfasst am:
07. Nov 2008, 17:50
Rufname:
Wohnort: Raum Wiesbaden

Re: Geburtstagsvorschau - Re: Geburtstagsvorschau

Nach oben
       Version: Office 2003

Hi ernades,

doch, Du musst nur zwischen der Englischen Funktion fuer VBA und der Deutschen Funktion
fuer die Entwurfsansicht unterscheiden.
Wobei das seit einigen Monaten auch nicht mehr uneingeschaenkt stimmt.
Da sind wohl einige Bibliotheken von MS bei Updates durcheinander gekommen
und anstelle der Nationalen die US-Versionen installiert worden.
==> Es kann inzwischen auch vorkommen das man in der Entwurfsansicht zwar die Deutschen Funktionsnamen,
aber die englischen Parameter verwenden muss.
Natuerlich weiter mit den Prameter-Trennzeichen des Betriebssystems.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
ernades
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. Nov 2008, 18:24
Rufname:


AW: Geburtstagsvorschau - AW: Geburtstagsvorschau

Nach oben
       Version: Office 2003

Hallo Willi,

danke für Deine Erklärung, werde es mir merken.

Nun hätte ich aber doch noch eine ganz wichtige Frage an Marmeladenglas. Irgendwie verstehe ich nicht wo auf einmal die Tabelle "Q" in der Abfrage und die beiden Felder "AktuellMinus7", sowie "AktuellPlus60" herkommen. Wo hast Du die hergezaubert, bzw wo hast Du die definiert.
In meiner Datenbank habe ich für meine Geburtstagschau eine Abfrage, in der die relevanten Datensätze selektiert werden. Hierfür müsste ich nun aber wissen wie Deine Abfrage (benannte Felder)definiert wird.

MfG ernades
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

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Forum