PDA

Vollständige Version anzeigen : Datum um ein Jahr verlängern


FrankZappa2
29.06.2001, 13:39
Hallo,

Het jemand schon mal ein Kriterium in einer Abfrage erstellt welches ein Datum in der Form 20.01.2001 um ein Jahr auf 2002 oder 2003 usw. verändert ???
Ich bekomme das einfach nicht hin.
Frank

Mike
29.06.2001, 14:50
Hallo FrankZappa2,
versuch's mal mit dieser Abfrage:

SELECT Tabelle1.Datum, Year([Datum]) AS Ausdr1
FROM Tabelle1
WHERE (((Tabelle1.Datum)=#12/2/2001#)) OR (((Year([Datum]))=Year(#12/2/2001#)+1));

Mike

Stema
29.06.2001, 15:17
Andere Möglichkeit:

SELECT * FROM DeineTabelle WHERE DeineTabelle.DeinDatumsfeld = DATESERIAL(Year(Date())+1; Month(Date()); Day(Date()))

FrankZappa2
30.06.2001, 11:52
Hallo,

Werd ich gleich mal probieren.

Allerdings meinte ich ursprünglich eine Funktion für das Feld Aktualisieren in einer Access Standardabfrage.

Frank

FrankZappa2
30.06.2001, 16:20
Hallo

= DATESERIAL(Year(Date())+1; Month(Date()); Day(Date()))

Funktioniert schon mal Allerdings nicht ganz so wie gedacht. Er ändert nun nicht nur das Jahr sondern auch Monat und Tag. Wenn ich alles nach (Year(Date())+1 wechnehme sagt er mir die falsche Anzahl von Argumenten wurde angegeben. Hat das was mit den Klammern zu tun ??

Frank

ElHefe
30.06.2001, 18:42
moin!

kannst es ja auch über ein formular mit vba-code lösen!

der code müsste dann glaub ich so aussehen:


year = Right(Me.thisYearFrom.Value, 4)
Me.thisyearCPfrom.Value = "01.01." & year
year = year - 1
Me.lastYearFrom.Value = Left(Me.thisYearFrom.Value, 6) & year
Me.lastyearCPfrom.Value = "01.01." & year

Judith
01.07.2001, 10:42
Hallo Frank!

Warum nimmst du nicht DateAdd

DateAdd("yyyy", 1, DeinFeld)

"yyyy" steht für Jahr
1 für die Anzahl die dazugerechnet werden sollen
DeinFeld, da steht dein Ausgangsdatum drinnen.

Tip:
Mit "m" statt "yyyy" kannst du Monate dazurechnen.

FrankZappa2
01.07.2001, 15:10
Hmmm, scheint alles komplizierter zu sein wie es sich anhört.

Judith : Meintest du wirklich in einer Aktualisierungsabfrage ??

ElHefe : hmm, ich möchte noch etwas versuchen das ganze ohne VBA zu lösen. Ich hatte vor einiger Zeit hier mal nach einer VBA-Lösung gesucht, jedoch nur Vorschläge für eine Aktualisierungsabfrage bekommen. War ja nicht schlimm, nur jetzt basiert ebend alles auf so einer Aktualisierungsabfrage. Und nun bekomme ich nur Vorschlage für VBA.

Die Vorschläge von Judith und Stema<- abgeändert wegen Tag und Monat, laufen noch nicht. Bei der Lösung von Stema sagt das Ding nach Abänderund, falsche Anzahl von Argumenten. Ohne Abänderung Ändert die Zeichenvolge jedoch auch den Tag und Monat.
Bei der Lösung von Judith, sagt Access Keinen Operanden oder falsche Zeichenfolge oder ... ne Ganze Reihe Fehlermöglichkeiten.

Also sollte ich das heute nicht mehr hinbekommen mit der Aktualisierungsabfrage, versuche ich den ganzen anderen Kram auch auf VBA aufzubauen. Scheint einfacher zu sein, nur waren Dahmals wohl zufällig nicht die richtigen Leute im Forum. (Aktualisierungsabfrage)

Frank

Judith
01.07.2001, 19:22
Hallo!

Ich kann es nur in VBA.

Sag mir mal in welchem Feld dein Datum steht!

FrankZappa2
01.07.2001, 20:22
Das Feld Heist Endet am (leider mit leerstelle)in der Tabelle Poli. Würde zulange dauern warum so nen blöden Namen ;)

Frank

WalterS
01.07.2001, 20:28
Hallo!

DateAdd("yyyy", 1,[Endet am])
oder

= DATESERIAL(Year([Endet am])+1; Month([Endet am]); Day([Endet am]))

oder.........

Stema
16.07.2001, 11:13
Hallo Frank!

Du kannst die Variablen in month() und day() natürlich durch andere Werte oder Variablen ersetzen, z.b.
= DATESERIAL(Year(Date())+1; 5; 3)

ergibt alles vom 3.5. des aktuellen Jahres+1.