Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: herb54 am Februar 06, 2021, 19:07:19

Titel: Date funktioniert nicht mehr
Beitrag von: herb54 am Februar 06, 2021, 19:07:19
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


Titel: Re: Date funktioniert nicht mehr
Beitrag von: MzKlMu am Februar 06, 2021, 19:16:21
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.

Titel: Re: Date funktioniert nicht mehr
Beitrag von: herb54 am Februar 06, 2021, 19:45:35
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
Titel: Re: Date funktioniert nicht mehr
Beitrag von: steffen0815 am Februar 06, 2021, 20:15:28
Hallo,
teste mal Me!Rechnungsdatum = vba.Date()
Titel: Re: Date funktioniert nicht mehr
Beitrag von: herb54 am Februar 06, 2021, 20:32:20
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
Titel: Re: Date funktioniert nicht mehr
Beitrag von: steffen0815 am Februar 06, 2021, 20:50:15
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).


Titel: Re: Date funktioniert nicht mehr
Beitrag von: herb54 am Februar 06, 2021, 21:28:01
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
Titel: Re: Date funktioniert nicht mehr
Beitrag von: steffen0815 am Februar 06, 2021, 23:04:40
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.
Titel: Re: Date funktioniert nicht mehr
Beitrag von: MzKlMu am Februar 07, 2021, 00:13:09
Hallo,
suche mal im VBA Code in allen (Klassen)Modulen nach "Date".
Titel: Re: Date funktioniert nicht mehr
Beitrag von: steffen0815 am Februar 07, 2021, 10:02:03
@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.
Titel: Re: Date funktioniert nicht mehr
Beitrag von: herb54 am Februar 07, 2021, 11:41:28
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
Titel: Re: Date funktioniert nicht mehr
Beitrag von: steffen0815 am Februar 07, 2021, 13:01:47
Zitatund habe dieses Feld dann umbenannt. Irgendwie blöd, dass sich Access dies dann trotzdem merkt.
Zitat von: SteffenHier hilft das Formular zu kopieren.
Titel: Re: Date funktioniert nicht mehr
Beitrag von: herb54 am Februar 07, 2021, 20:05:42
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
Titel: Re: Date funktioniert nicht mehr
Beitrag von: steffen0815 am Februar 07, 2021, 20:34:22
Hallo,
geh mal in den Formularcode und gib me.Schau mal ob date "angeboten" wird.
Titel: Re: Date funktioniert nicht mehr
Beitrag von: herb54 am Februar 08, 2021, 09:12:01
Hallo Steffen,

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

Grüße
Herbert
Titel: Re: Date funktioniert nicht mehr
Beitrag von: steffen0815 am Februar 08, 2021, 09:15:09
Hallo,
Zitatja das wird angeboten.
Ein Formularfeld hat einen Steuerelementinhalt (Name wie in der Tabelle) und einen Steuerelementnamen (beliebig zu vergeben).
Also suche das Steuerelement mit dem Name date ....

Private Sub Befehl7_Click()
Dim ctl As Control
For Each ctl In Me.Controls
    Debug.Print ctl.Name
Next
End Sub
Titel: Re: Date funktioniert nicht mehr
Beitrag von: herb54 am Februar 09, 2021, 10:42:42
Hallo Steffen,

super! Ich habe das Feld über deinen Code gefunden. Die Datenbank ist aber auch sehr groß. Ich habe das Ergebnis des Debug.Print-Fensters in ein Worddokument kopiert und über "Suchen und Ersetzen" gesucht, sonst hätte es sehr lange gedauert. Vielen Dank an dich und an alle die hier mitgeholfen haben.

Grüße
Herbert
Titel: Re: Date funktioniert nicht mehr
Beitrag von: PhilS am Februar 09, 2021, 10:54:00
Zitat von: herb54 am Februar 09, 2021, 10:42:42super! Ich habe das Feld über deinen Code gefunden. Die Datenbank ist aber auch sehr groß. Ich habe das Ergebnis des Debug.Print-Fensters in ein Worddokument kopiert und über "Suchen und Ersetzen" gesucht, sonst hätte es sehr lange gedauert.
An dieser Stelle erlaube ich mir eine kurze "Werbeeinblendung" mit dem Hinweis auf unser Find and Replace für Access (https://accessdevtools.com/product/find-and-replace/) Tool, das bei solchen Problemstellungen den Umweg über Debug.Print und Word unnötig macht.