Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Datum setzen

Begonnen von Mykis, November 30, 2015, 12:39:17

⏪ vorheriges - nächstes ⏩

Mykis

Hallo,

bitte um kleine "Amtshilfe": Ich setze in einem Formular, wo ein zweites Datum automatisch gesetzt werden muß, dieses mit " ADatum2 = ADatum1". OK.
Nun soll aber als Ausnahme, wenn das ADatum1 mit "01.01." beginnt, das ADatum2 "31.12." des entsprechenden Jahres werden. Meine Idee war:

If ADatum1 = "01.01.*" Then ADatum2 = "31.12.*"
If Not ADatum1 = "01.01.*" Then ADatum2 = ADatum1


Geht natürlich nicht! Wie müßte der VBA-Code aussehen?

Beste Grüße
Frank

MzKlMu

Hallo,
Zitatdes entsprechenden Jahres werden.
was ist das entsprechende Jahr, das aktuelle Jahr ?
Gruß Klaus

bahasu

Hi,

Dein Ziel ist via Abfrage erreichbar:
SELECT Tabelle1.ADatum1, IIf(Left([ADatum1],5)="01.01","31.12." & Year([Adatum1]),[ADatum1]) AS ADatum2
FROM Tabelle1;


Berechnete Daten sollten nicht abgespeichert werden. Deswegen der Vorschlag via Abfrage.

Harald
Servus

DF6GL

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Mykis

Hallo Klaus,

das im ersten Feld ADatum1 eingegebene Jahr soll auch im zweiten Feld ADatum2 dem Jahr aus den ersten Feld entsprechen.
Folgender Hintergrund: Aus ADatum1 und ADatum2 wird später die Phänologie (Vorkommen in welchem Monat eines Jahres) einer Pilzart ermittelt. Wenn wir Daten aus der Literatur eingeben, ist oft nur das Jahr bekannt und es muß das ganze Jahr eingegeben werden (also 01.01.-31.12. des Jahres). Da mein Kartierungsprogramm bis jetzt das Zweitdatum gleich dem Erstdatum setzt, werden diese Funde alle auf Januar gesetzt (wo es kaum Pilze gibt) und verfälschen die Statistik. Man kann zwar Datum2 händig ändern, wird aber oft vergessen, deshalb möchte ich das bei der Eingabe automatisieren.

@ Hallo Harald,
eine Abfrage ist da nicht so richtig hilfreich, höchstens wenn jemand eine Datenbank komplett umstellen will.

LG
Frank

MzKlMu

Hallo,
so:
If Day(ADatum1) = 1 And Month(ADatum1) = 1 Then
    ADatum2 = DateSerial(Year(ADatum1), 12, 31)
Else
    ADatum2 = ADatum1
End If
Gruß Klaus

Mykis

Hallo Klaus,

vielen Dank, funktioniert genau wie ich es möchte!

LG
Frank

Beaker s.a.

Hallo Mykis,
Nur Interesse halber.
ZitatDa mein Kartierungsprogramm bis jetzt das Zweitdatum gleich dem Erstdatum setzt, werden diese Funde alle auf Januar gesetzt (wo es kaum Pilze gibt) und verfälschen die Statistik.
Und jetzt auf Dezember, - wo ist da der Unterschied? Ich meine im Dezember auch eher selten Pilzsammler gesehen zu haben ;-)
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)