collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 53
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13949
  • stats Beiträge insgesamt: 66291
  • stats Themen insgesamt: 8936
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Anzahl Tage bis heute berechnen  (Gelesen 879 mal)

Offline fegefeuer

  • Newbie
  • Beiträge: 7
Anzahl Tage bis heute berechnen
« am: November 10, 2017, 20:54:42 »
Hallo liebe Access-Freunde,

ich habe ein Problem bei der Berechnung einer Anzahl von Tagen bis heute.

Ich habe ein Feld [SLA Ende] und ein Feld [Restlaufzeit].

Ich möchte nun im Formular beim aufruf des Datensatzes die Anzahl an Tagen bis [SLA Ende] berechnen.
dies habe ich mit    >DatDiff ("d", [SLA Ende], heute())<      berechnet.

Leider bekomme ich hierbei die Fehlermeldung:

"Sie haben als Einstellung der Ereigniseigenschaft den Ausdruck beim Hingehen eingegeben. Dieser Ausdruck hat einen Fehler verursacht: Der von Ihnen eingegebene Ausdruckenthält den Namen einer Funktion, die von Microsoft Access nicht gefunden werden kann."

Was mache ich hier falsch??

Vielen Dank im voraus!
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7259
Re: Anzahl Tage bis heute berechnen
« Antwort #1 am: November 10, 2017, 22:57:10 »
Hallo,
Heute() gibt es nicht bei VBA.
Entweder Jetzt() (Datum mit Uhrzeit) oder Datum().
Außerdem ist in einem deutschen Access t zu verwenden sowie Semikolons.
=DatDiff ("t"; [SLA Ende]; Datum())Oder einfach so:
=[SLA Ende] - Datum()        
Gruß
Klaus
 
Folgende Mitglieder bedankten sich: fegefeuer

Offline PhilS

  • Administrator
  • Access-Profi
  • *****
  • Beiträge: 331
    • Tipps zu Access, VBA, SQL und Co.
Re: Anzahl Tage bis heute berechnen
« Antwort #2 am: November 10, 2017, 23:23:41 »
Ich möchte nun im Formular beim aufruf des Datensatzes die Anzahl an Tagen bis [SLA Ende] berechnen.
dies habe ich mit    >DatDiff ("d", [SLA Ende], heute())<      berechnet.

Leider bekomme ich hierbei die Fehlermeldung:

"Sie haben als Einstellung der Ereigniseigenschaft den Ausdruck beim Hingehen eingegeben. Dieser Ausdruck hat einen Fehler verursacht: Der von Ihnen eingegebene Ausdruckenthält den Namen einer Funktion, die von Microsoft Access nicht gefunden werden kann."

Ich halte nicht viel von deutschen Übersetzungen in der Programmierung und empfehle immer die englischen Ausdrücke zu verwenden. - Wenn Access sie dir automatisch übersetzt, kann Access sie bei Bedarf i.d.R. auch zurückübersetzen. Wenn du sie direkt auf Deutsch schreibst, klappt das nicht immer.

Dass Hauptproblem ist aber, dass die Funktion DateDiff heißt.
DateDiff ("d", [SLA Ende], Date())

Wieso eigentlich beim Hingehen? Ich würde entweder, wenn du den Wert speichern willst, per VBA im Current-Ereignis (Beim Anzeigen) machen oder, nur für die Anzeige im Formular, direkt in den Steuerelementinhalt schreiben.
Neues Access 2019 Feature angekündigt: Modern Charts
 
Folgende Mitglieder bedankten sich: fegefeuer

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7259
Re: Anzahl Tage bis heute berechnen
« Antwort #3 am: November 10, 2017, 23:33:01 »
Hallo,
ich hatte in meinen Vorschlägen keine Ereignisprozedur verwendet, sondern direkt in ein Formularfeld. Wenn man das so macht, hat man gar keine andere Wahl als die deutsche Syntax zu benutzen. Das beim Hingehen hatte ich überlesen.
Das heißt aber, die Restlaufzeit soll in der Tabelle gespeichert werden, was aber falsch ist. Das Formularfeld (oder Berechnung in einer Abfrage) reicht. Die Restlaufzeit kommt nicht in die Tabelle das wäre ein Fehler.
Gruß
Klaus
 
Folgende Mitglieder bedankten sich: fegefeuer

Offline PhilS

  • Administrator
  • Access-Profi
  • *****
  • Beiträge: 331
    • Tipps zu Access, VBA, SQL und Co.
Re: Anzahl Tage bis heute berechnen
« Antwort #4 am: November 10, 2017, 23:57:19 »
...direkt in ein Formularfeld. Wenn man das so macht, hat man gar keine andere Wahl als die deutsche Syntax zu benutzen.
Das trifft eigentlich nur auf das Listentrennzeichen (Komma vs. Semikolon) zu. Welches eher dem Zahlenformat als der Sprache zuzuordnen ist. Den Rest versteht ein "deutsches" Access auch auf englisch.
Neues Access 2019 Feature angekündigt: Modern Charts
 
Folgende Mitglieder bedankten sich: fegefeuer

Offline fegefeuer

  • Newbie
  • Beiträge: 7
Re: Anzahl Tage bis heute berechnen
« Antwort #5 am: November 14, 2017, 04:45:52 »
Hallo Access-Freunde,

vielen Dank für eure schnellen Antworten.

Ich bin noch nicht so lange mit Access unterwegs.
Allerdings habe ich jetzt jede eurer Berechnungen im Formularfeld unter "Eigenschaften - Ereignis - Nach Aktualisierung" eingetragen und bekomme immer noch keinen Wert in meinem Feld  "Restlaufzeit" angezeigt.

Welche Möglichkeiten gibt es denn noch den Wert aus [SLA-Ende] bis Datum() im Feld "Restlaufzeit" zu ermitteln.

Vielen Dank für eure Hilfe
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7259
Re: Anzahl Tage bis heute berechnen
« Antwort #6 am: November 14, 2017, 09:07:35 »
Hallo,
die Formel hat mit den Eigenschaften nichts zu tun. Lösche den Eintrag dort wieder.
Bei Steuerelementinhalt trägst Du dann ein:
=[SLA Ende] - Datum()   

PS:
Du solltest auch über die Struktur noch mal nachdenken. Die Aufzählungsfelder (Dauer Telefonat und Dauer Datenbearbeitung) sollten in eine extra Tabelle als je ein Datensatz. Aufzählungsfelder sind Felder mit gleichem Namen aber einer zusätzlichen Zahl. Diese sind für eine Datenbank ungeeignet. 
Gruß
Klaus
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1768
Re: Anzahl Tage bis heute berechnen
« Antwort #7 am: November 14, 2017, 14:04:16 »
Zusätzlich zu Klaus, entferne die Sonderzeichen aus den Tabellenfeldnamen.
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.