Neuigkeiten:

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

Mobiles Hauptmenü

Datumfeld

Begonnen von AMB, Januar 12, 2017, 16:20:57

⏪ vorheriges - nächstes ⏩

AMB

Hallo Zusammen!

Ich habe eine Tabelle mit den Feldern ID, Datum, Termin und Abschluss. Daraus habe ich eine Abfrage erstellt und noch zusätzlich zwei Felder berechnet:
- Dauer: [Abschluss]-[Datum]
- Ueberschreitung: [Abschluss]-[Termin]
Die Abfrage funktioniert einwandfrei.

Nun greife ich in einem Bericht per VBA auf die Abfrage zu und möchte mir die Gesamtsummen anzeigen lassen.
Textfeld1.Value = DSum("Dauer", "qryAbfrage")
Textfeld2.Value = DSum("Ueberschreitung", "qryAbfrage")

Mein Problem:
Textfeld1 ist leer
Textfeld2 wird korrekt angezeigt
Es muss etwas mit dem Feld Datum zu tun haben, denn Schreibweise und Benennung ist korrekt. Habe schon alles Mögliche getestet.

Hat jemand eine Idee was da falsch läuft?

Gruß
Michael

HB9876

Hallo,
was fuer Feldtypen haben den "Datum" und "Termin"?
Mit jeder Antwort komme ich weiter und lerne.<br /><br />Danke!!!

crystal

Hallo,

ja, es könnte sein, dass Access mit dem Begriff "Datum" etwas durcheinander kommt, weil es auch der Name einer Funktion ist.

Probier doch bitte, das Feld "Datum" in deiner Tabelle z.B. in "XDatum" oder "Datum1" umzubenennen.

lg
crystal
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

AMB

Hallo,

Habe Datum in Erstelldatum umbenannt!
Funktioniert leider auch nicht!

Gruß
Michael

AMB

Sorry HB9876:

Beide Felder sind Datumsfelder und Abschluss ebenso.

Gruß
Michael

HB9876

OK, das mit der Bezeichnungsaenderung hatte ich Vergessen, super Hinweis von Chrystal.

Kannst du evtl. einen screen shot posten, erstmal hoert sich das passend an fuer mich.

Gruss
Mit jeder Antwort komme ich weiter und lerne.<br /><br />Danke!!!

Beaker s.a.

Könnte an NULL-Werten in der Spalte liegen.
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)

MzKlMu

Hallo,
wenn man ohnehin im Bericht summiert, kann man auf VBA Verzichten und die Summen direkt mit der einfachen Summenformel berechnen.
= Summe([Dauer])
= Summe([Ueberschreitung])

Jeweils als Steuerelmentinhalt von Textfeld1 bzw. 2

Felder mit NULL spielen da keine Rolle.
Gruß Klaus

AMB

Guten Morgen,
kann ich das mit den NULL-Werten irgendwie umgehen? Würde die Berechnung lieber in VBA machen und den Bericht ungebunden lassen!

MzKlMu

Hallo,
Du hast doch eine Abfrage, was soll es für einen Sinn machen den Bericht ungebunden zu machen ?
Wobei sich die Frage stellt ist er wirklich ungebunden (ohne Datenquelle) ?
Und da Du die Dauer bzw. Überschreitung in der Abfrage berechnest, kannst Du auch gleich im Bericht wie vorgeschlagen summieren.
Wozu hier noch überflüssigerweise VBA bemühen ?
Gruß Klaus

AMB

Hallo,
ich benötige die beiden Zahlen für eine Statistische Übersicht. Es sind noch Diagramme, etc. über Unterberichte eingebunden.
Wenn ich den Bericht nun binde, dann bekomme ich die Zahlen, aber auch für jeden Datensatz einen Bericht.

Gruß
Michael

MzKlMu

Hallo,
Du kannst doch den Bericht auf einen Datensatz filtern, sehr einfach und problemlos.
Wie rufst Du denn den Bericht auf ?
Wenn Du ein Formular zur Anzeige der Datensätze verwendest, kannst Du mit einem Button im Formular genau den einen angezeigten Datensatz drucken. Das wäre der übliche Weg.
Gruß Klaus

AMB

Hallo,
ich möchte ja nicht einen Datensatz aufrufen. ich filter über das Formular den Zeitraum und möchte dann die Summe der Dauer und die Summe der Überschreitungen angezeigt bekommen.

Gruß
Michael

MzKlMu

Hallo,
wenn Du den Bericht bindest, so bekommst Du mehrere Datensätze angezeigt und das willst Du doch nicht, so wie ich das verstanden habe. Also musst Du einfach den Bericht auf den gewünschten Datensatz filtern.


Wenn das Datum für die Berechnung der Dauer leer sein kann, so kannst Du einen Ersatzwert setzen.
Dauer: [Abschluss]-Nz([Datum];[Abschluss])
Ersatzwert ist [Abschluss] damit wird für die Dauer eine 0 ausgegeben.
Zeige mal bitte den SQL Text der Abfrage.

Aber das sind alles Krücken, ein gebundener Bericht löst das Problem auf einfache Art

Gruß Klaus

AMB

Hallo,

bin ja nicht so der Profi, kann also sein dass mir das entsprechende Fachwissen fehlt. Aber ich bekomme das nicht hin.

Nochmal eine Erklärung:
- bei dem Bericht handelt es sich um eine statistische Übersicht eines Zeitraumes
- der Zeitraum liefert zum Beispiel 10 Datensätze
- Im Bericht sollen aber nicht die einzelnen Datensätze, sondern nur die Gesamtsumme der Dauer und der Überschreitung
  angezeigt werden

Wenn ich nun den Bericht an die Abfrage binde, dann kann ich ohne VBA die Summen berechnen. Aber mein Bericht druckt dann 10 Seiten (für jeden Datensatz eine Seite).
Wie aber soll ich auf einen Datensatz filtern und trotzdem auf die korrekte Summe von 10 Datensätzen bekommen? Das funktioniert doch nicht!?

Des Weiteren habe ich mich mal an den NULL-Stellen versucht. Habe in der Berechnung 0,001 hinzuaddiert, funktioniert dann aber trotzdem nicht.

Hat jemand noch eine ander Idee?

Gruß
Michael