Neuigkeiten:

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

Mobiles Hauptmenü

Date funktioniert nicht mehr

Begonnen von herb54, Februar 06, 2021, 19:07:19

⏪ vorheriges - nächstes ⏩

herb54

Hallo zusammen,

irgendwie bin ich am verzweifeln mit der Date Funktion.
Ich möchte in mein Feld "Rechnungsdatum" (Datumformat) das aktuelle Datum via VBA schreiben.
Belege ich in der Tabelle das Feld als Standardwert: = Datum() funktioniert das einwandfrei z.B. wenn ich einen neuen Datensatz anlege. Gebe ich jedoch über VBA den Wert (z.B. in der Ereignisprozedur des Buttons "Neuer Datensatz") ein klappt es nicht:

Me!Rechnungsdatum = Date()

Was mir sofort merkwürdig erscheint ist, das er sofort aus Date() ---> Date macht d.h. die Klammern weglässt.
Über einen Haltepunkt habe ich ermittelt, dass der Wert von Date "Null" ist.
Jetzt habe ich mal gegoogelt und gesehen, dass dieses Problem schon öfters vorgekommen ist und durch einen nicht vorhandenen Verweis kommen kann.
Das habe ich schon kontrolliert - aber nix gefunden.
Hat jemand eine Idee was das sein kann?

Grüße
Herbert



MzKlMu

Hallo,
vermultlich stimmen die Verweise nicht. VBA Editor > Verweise.
Prüfe mal das dort vorhanen ist.
Wenn Dda ein "nicht vorhanden" steht, Haken wegmachen, kompilieren (In VBA).
Hast Du überhaupt den VBA Code schon mal kompiliert (nicht verwechseln mit Komprimieren) ?

Dass die Klammern entfernt werden ist normal. In VBA wird Date ohne Klammern geschrieben, ist vermutlich ein Bug.
SQL mit Klammern, die Funktion Datum() auch mit Klammern.

Gruß Klaus

herb54

Hallo Klaus,

die Verweise habe ich schon durchgesehen. Das sind alle die gesetzt sind (sh. Anhang). Es gibt sonst nirgednwo mehr ein gesetztes Häkchen.
Kompiliert habe ich auch schon. Ich bin momentan etwas am verzweifeln. Mein nächster Versuch wäre dann über ein DoLookup das Datum aus einer Abfrage zu holen. Aber schon umständlich.

Grüße
Herbert

steffen0815

Hallo,
teste mal Me!Rechnungsdatum = vba.Date()
Gruß Steffen

herb54

Hallo Steffen,

super, klappt sofort!! Aber irgendwie verstehe ich das nicht so ganz. Ich habe jetzt mal eine neue Test-Datenbank erstellt mit einer Tabelle und zwei Feldern - wobei eines ein Datumfeld ist. Da klappt das wunderbar mit dem Button und:
Rechnungsdatum = Date
Schon seltsam, dass ich dann in meiner Anwendungsdatenbank Rechnungsdatum = VBA.Date schreiben muss. Aber egal Hauptsache das geht jetzt.

Vielen Dank für die Hilfe!!!! Ich war schon total am Verzweifeln.

Grüße
Herbert

steffen0815

Hallo,
ZitatVielen Dank für die Hilfe!!!!
Das war nicht als Hilfe gedacht  :) .
Denkst du das ist normal, dass man plötzlich VBA vor einem Befehl schreiben muss?

Du hast Murks gebaut  ;) .

Ich vermute mal, dass es ein Formularfeld namens date gibt (oder ähnliches Zeugs).


Gruß Steffen

herb54

Hallo Steffen,

so ich habe jetzt mal alle Felder durchgesehen. Ein einziges Feld enthält tatsächlich im Namen "Date" das Feld lautet so:
Date_In_Ab

Sollte das die Ursache sein? Werde ich morgen mal testen!

Grüße
Herbert

steffen0815

Hallo,
Zitatdas Feld lautet so:Date_In_Ab
Nein, es muss schon "date" heißen.
Das blöde ist nur, wenn das Feld "date" hieß und später umbenannt wurde, merkt sich Access den alten Feldnamen (vermutlich die Autokorrekturfunktion).
Hier hilft das Formular zu kopieren.
Gruß Steffen

MzKlMu

Hallo,
suche mal im VBA Code in allen (Klassen)Modulen nach "Date".
Gruß Klaus

steffen0815

@klaus:
Zitatsuche mal im VBA Code in allen (Klassen)Modulen nach "Date".
NmM. kann man weder Prozeduren noch Variablen/Konstanten mit date benennen.
Ich vermute, dass irgendwann ein Feldname "date" hieß und sich das Formular dies "gemerkt" hat.
Gruß Steffen

herb54

Hallo zusammen,

so, ich habe jetzt alles durchsucht. Es gibt momentan kein Feld im Formular bzw. Tabelle mit dem Namen "Date". Aber ich kann mich dunkel erinnern, dass ich mal vor längerer Zeit eine Fehlermeldung erhalten hatte, dass ich ein Feld nicht mit Date benennen kann und habe dieses Feld dann umbenannt. Irgendwie blöd, dass sich Access dies dann trotzdem merkt.
Vielen Dank für eure Hilfe!
Grüße
Herbert

steffen0815

Zitatund habe dieses Feld dann umbenannt. Irgendwie blöd, dass sich Access dies dann trotzdem merkt.
Zitat von: SteffenHier hilft das Formular zu kopieren.
Gruß Steffen

herb54

Hallo Steffen,

vielleicht habe ich was falsch gemacht: Ich habe das Formular kopiert, das alte Formular umbenannt und dann das kopierte Formular mit dem Namen des Orginialformulars umbenannt - leider ohne Erfolg. Oder meintest du da etwas anderes?

Grüße
Herbert

steffen0815

Hallo,
geh mal in den Formularcode und gib me.Schau mal ob date "angeboten" wird.
Gruß Steffen

herb54

Hallo Steffen,

ja das wird angeboten. Ich habe alles durchsucht, konnte das Feld aber nirgendwo finden.

Grüße
Herbert