Office: (Office 2010) #Fehler

Helfe beim Thema #Fehler in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Forum, eine sicherlich banale Frage hätte ich hier, da ich im Netz nichts passendes finden konnte. In einer Abfrage habe ich eine Spalte die das... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Prof.Adv, 15. Juni 2020.

  1. #Fehler


    Hallo Forum,
    eine sicherlich banale Frage hätte ich hier, da ich im Netz nichts passendes finden konnte.
    In einer Abfrage habe ich eine Spalte die das Ergebnis einer Zeitdifferenz (Stunden) ausgibt.
    Das geschieht auch.
    Wenn allerdings in einem Feld "keine Zeitangabe" ist dann ist das
    Ergebnis #Fehler.
    Das kann man mit "nz" irgendwie lösen glaube ich. Allerdings weiß ich
    nicht wie.
    Wie müsste der Code aussehen und wo muss er eingesetzt werden?
    Die Felder heissen STARTZEIT und ENDEZEIT.
    Das Ergebnis-Feld heisst Tourzeit.
    Die Abfrageformel ist Tourzeit: ZDate([Startzeit]-[Endezeit])

    Kann wer bitte helfend eingreifen?

    Vielen netten Dank

    :)
     
    Prof.Adv, 15. Juni 2020
    #1
  2. Code:
     
    Weigi88, 17. Juni 2020
    #2
  3. Hallo,
    Deine Formel kann so nicht stimmen.
    Die Endezeit muss ja größer sein als die Startzeit also ist die Tourzeit Endezeit-Startzeit und nicht umgekehrt. Deine Formel kann auch keine Stunden ergeben.


    Welchen Datentyp haben denn Startzeit und Endezeit in der Tabelle ?
    Und was genau steht in den Feldern ?

    Außerdem nutzt hier Nz nix, denn Nz bestimmt einen Ersatzwert und der würde eine völlig falsche Tourzeit ergeben.

    Bitte die vorliegenden Zusammenhänge ausführlicher schildern.
     
    NeuerMann1978, 17. Juni 2020
    #3
  4. #Fehler

    \@Weigi88
    Wenn du mir noch sagen kannst wo genau der Code hin muss?
    Als Ereignis ? aber wo ?
    Bei Änderung? Nach Aktualisierung?
    -
    @NeuerMann1978
    Das sehe ich genauso wie du. Aber es funktioniert trotzdem wie es soll.
    Schau die Anhänge.
    Hab es auch umgekehrt versucht, geht auch. Alles korrekt.

    Mit Nz kann man angeben was als Result ausgegeben werden soll wenn
    der Feldinhalt "leer" ist, also NULL.
    Wenn die Funktion mir eine echte Null (0) einsetzen würde wäre das schon ok.
    Es soll nichts weiter berechnet werden, wenn keine Start oder Ende Zeit
    angegeben wird.
    Ich könnte manuell 0:00 einsetzen überall, aber das ist doch sicher nicht
    im Sinne EDV.
     
    Prof.Adv, 17. Juni 2020
    #4
  5. Hallo,

    im SQL-Fenster der Abfrage wäre das z.B. einfach mit DateDiff zu machen:
    Code:
    oder aber als Ausdruck für eine Textbox im Formular:
    Code:
    Ulrich
     
    knobbi38, 17. Juni 2020
    #5
  6. Damit es nicht in eine falsche Richtung läuft..
    Einen Code habe ich bis jetzt nicht benötigt.
    Die Formel (Post1) steht in der Abfrage und funktioniert gut.

    Möchte nur die Ausgabe "#Fehler" im Formular weg haben.

    Das geht mit dem Code ?
    Soweit ich das versteh gibt der Code den Unterschied zwischen
    Start und Endezeit aus.
    Das macht doch die Abfrage schon !!.

    Oder sehe ich das falsch?
     
    Prof.Adv, 17. Juni 2020
    #6
  7. Der Fehler kommt, weil die VBA-Funktion mit NULL nicht umgehen kann.

    Code:
    Das reicht als Berechnung. Das Formularfeld bekommt noch die Formateigenschaft Zeit 24 Std., und gut ist.

    Das glaube ich nicht. Eine Differenz 0 ist eine andere Aussage als ein leeres Feld, weil eine Differenz nicht ermittelbar und somit unbekannt ist.
     
    ebs17, 17. Juni 2020
    #7
  8. #Fehler

    Der Fehler "#Fehler" im Frm kommt ohne VBA.
    Wie gesagt, bisher habe ich kein Code eingesetzt-
    Ich möchte nur diese Ausgabe "#Fehler" im Frm unterdrücken
    oder in eine beliebige Zeichenkette wandeln.
    Sieht blöd aus wenn in vielen DS dann #Fehler im Feld steht.
    Die Felder sind Datumsfelder+Zeit.
    Weil eben in vielen DS keine Angabe einer Start/Ende Zeit ist
    wird von Access eben #Fehler rein geschrieben.
    Genau das soll bitte NICHT geschehen.
    Jetzt habe ich mich glaube ich einige Male wiederholt.
    Aber bisher hat mich entweder niemand verstanden oder ich bin irgendwie
    geblockt momentan.

    Einen Hinweis WO welcher CODE hilft? (siehe auch #4)
     
    Prof.Adv, 17. Juni 2020
    #8
  9. Das Formular verwendet eine Abfrage. Die Abfrage verwendet die VBA-Funktion CDate.

    Die Abfrage alleine (SQL) kann glänzend mit NULL umgehen.
     
    ebs17, 17. Juni 2020
    #9
  10. Mhh.
    alles richtig. Im SQL Fenster steht in der Tat CDate Endezeit-Startzeit AS Tourzeit.
    Die Klammern hab ich jetzt nur hier mal weggelassen, sind aber korrekt gesetzt.

    Warum steht trotzdem dann #Fehler im Feld?
     
    Prof.Adv, 17. Juni 2020
    #10
  11. Mit NULL (dem Undefinierten, Unbekannten) kann man nicht rechnen, also wäre die Differenz auch undefiniert.

    Teste:
    Code:
    => Fehler.

    Warum wird CDate verwendet?
    Der Datentyp Date wird intern als Zahl geführt:
    Code:
    Nichts anderes zeigt Deine Differenz ohne das CDate. Also erfolgt nur einfach eine Formatierung => anderes Etikett auf die Flasche.
     
  12. Hallo,

    ich habe dir doch die Funktion DatDiff(...) schon in #5 für den Ausdrucksgenerator gegeben, was brauchst du denn noch?

    Ulrich
     
    knobbi38, 17. Juni 2020
    #12
  13. #Fehler

    Hallo,
    #Fehler entsteht ja nur während der Eingabe in ein Feld eines neuen Datensatzes.
    Das kannst Du so verhindern:
    Code:
    Du musst auch richtig rechnen, den kleineren Wert vom größeren Wert abziehen (Endezeit-Startzeit), sonst erhältst Du negative Zahlen, die durch ZDate nicht als negativ angezeigt werden.
    Welches aber bei den Zeiten/Zeitsummen >=24h zu falschen Anzeigen/Ergebnissen führt.

    Ein weiteres Problem wird dann auftauchen, wenn die Endezeit nach Mitternacht (also am nächsten Tag) liegt.
    Dann kannst Du keiner der Formeln mehr so verwenden.
    Und wenn dann noch Zeiten summiert werden >=24h kann auch das Zeitformat nicht mehr verwendet werden.
    Du musst das Vorhaben mal komplett durchdenken.

    @Ulrich
    Was machst Du mit Datediff von 13:00 - 14:30 ?
    Datediff liefert ja nur ganze Stunden was hier unbrauchbar sein dürfte.
     
    NeuerMann1978, 17. Juni 2020
    #13
  14. \@NeuerMann1978:
    Hallo,
    die Differenz aus deinem Beispiel beträgt 1 volle Stunde, das waren die Anforderungen des OP! Von Bruchteilen war nicht die Rede. Aber dein Einwand ist schon berechtigt.

    Gruß Ulrich
     
    knobbi38, 17. Juni 2020
    #14
  15. Alles richtig, meine Herren
    Also: Datediff aus Post 5 fällt aus, weil zwar die #Fehler unterdrückt werden aber nur mit vollen Stunden gerechnet wird.
    Unbrauchbar. Von 09:00 bis 10:30 = 1,00 !! ??
    -
    Was die Stellung Endezeit - Startzeit betrifft, das hab ich schön so gesetzt wie vorgeschlagen.
    #Fehler wird trotzdem angezeigt wenn Start leer ist.
    -
    Was die Berechnung >24 std betrifft, entfällt, weil das nicht vorkommen wird.
    Übrigens möchte ich mit echten Zeitenangaben arbeiten, nicht etwa mit Dezimal/Industriezeit.
    Weitere Berechnungen sollen nicht stattfinden, hatte ich schon gesagt.
    -
    Das es NUR um volle Stunden geht ist eine Annahme. Hab ich nirgens gesagt.
    Beipiel: Startzeit =10:05 Endezeit = 12:10 Ergebnis 02:05

    Ich glaube das die Lösung bisher nicht genannt wurde. Schwierig, weil auch an anderen Stellen
    vergleichbar keine Lösungen zu lesen waren. Das Problem ist im Netz nicht unbekannt.
    Daher habe ich es hier versucht. Weil ich hier auf Hilfe hoffte.

    Erstmal danke bis hier.
     
    Prof.Adv, 17. Juni 2020
    #15
Thema:

#Fehler

Die Seite wird geladen...
  1. #Fehler - Similar Threads - #Fehler

  2. Fehler (0x800CCC78) beim Ausführen der Aufgabe "xx.yyyy@kabelmail.de - Nachrichten werden gesendet"

    in Microsoft Outlook Hilfe
    Fehler (0x800CCC78) beim Ausführen der Aufgabe "xx.yyyy@kabelmail.de - Nachrichten werden gesendet": Bei mir taucht im Outlook ständig folgender Fehler auf: (0x800CCC78) beim Ausführen der Aufgabe "xx.yyyy@kabelmail.de - Nachrichten werden gesendet": "Die Nachricht kann nicht gesendet werden....
  3. Fehler beim SVERWEIS Vermeidbar?

    in Microsoft Excel Hilfe
    Fehler beim SVERWEIS Vermeidbar?: Hallo, ich habe eine Tabelle mit SVERWEIS. Der erste Tab ist quasi eine Übersicht nach Jahren und dann die weiteren Tabs die Eingaben in den Jahren (Artikel, Bestand, Einkaufspreis usw). Die...
  4. Installation schlägt fehl - Fehler in OfficeClickToRun.exe

    in Sonstiges
    Installation schlägt fehl - Fehler in OfficeClickToRun.exe: Hallo, ich habe ein Problem beim Installieren von Office Ich erhalte die folgende Fehlermeldung: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ OfficeClickToRun.exe - Anwendungsfehler Die Anwendung...
  5. Bei meinem Outlook (new) fehlen wichtige Funktionen!

    in Microsoft Outlook Hilfe
    Bei meinem Outlook (new) fehlen wichtige Funktionen!: Hallo, wie der Titel bereits andeutet, habe ich Probleme mit Outlook. Zum Beispiel ist es mir nicht möglich, Add-ins zu installieren. Es gibt keinen Button dafür, und auch wenn ich über die...
  6. Ständige Passwortabfrage und Kalendersyncronisations Fehler

    in Microsoft Outlook Hilfe
    Ständige Passwortabfrage und Kalendersyncronisations Fehler: Guten Tag, ich bin neu in diesem Forum und hoffe nach vergeblicher Suche im Microsoft Forum hier Hilfe zu bekommen. Nach einem Wechsel von Win 10 auf 11 Anfang dieses Jahres habe ich folgende 2...
  7. Formel mit INDEX, MATCH und MAX gibt Fehler #NAME!

    in Microsoft Excel Hilfe
    Formel mit INDEX, MATCH und MAX gibt Fehler #NAME!: Hallo zusammen, ich habe mit Hilfe von Copliot eine Formel gebaut, die 2 Werte aus einer Tabelle 1 in einer Tabelle 2 prüfen soll und wenn die Konstellation vorkommt, soll das größte Wert dieser...
  8. Wert Fehler

    in Microsoft Excel Hilfe
    Wert Fehler: Hallo zusammen, sicher gibt es schon diverse Beiträge, leider habe ich keinen gefunden, der mein Problem los. Ich habe mal einen Auszug meiner Tabelle angehängt. Leider kriege ich in einigen...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden