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
Hallo,
was fuer Feldtypen haben den "Datum" und "Termin"?
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
Hallo,
Habe Datum in Erstelldatum umbenannt!
Funktioniert leider auch nicht!
Gruß
Michael
Sorry HB9876:
Beide Felder sind Datumsfelder und Abschluss ebenso.
Gruß
Michael
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
Könnte an NULL-Werten in der Spalte liegen.
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.
Guten Morgen,
kann ich das mit den NULL-Werten irgendwie umgehen? Würde die Berechnung lieber in VBA machen und den Bericht ungebunden lassen!
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 ?
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
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.
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
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
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
Hallo,
zu NULL (=nix) kann man nichts addieren.
Hast Du meinen Vorschlag aus #13 mit dem Nz probiert ?
ZitatIm Bericht sollen aber nicht die einzelnen Datensätze, sondern nur die Gesamtsumme der Dauer und der Überschreitung
angezeigt werden
Binde den Bericht an die Abfrage und nimm alle für die Summierung notwendigen Felder auf. Stelle in den Eigenschaften den Detailbereich auf "Sichtbar = Nein". Dann werden im Berichtsfuß nur die Summenfelder angezeigt. Die 10 Detaildatensätze nicht. Summenbildung in Feldern im Berichtsfuß wie in #7 vorgeschlagen. NULL spielt da keine Rolle.
Hallo,
Danke für den Ansatz, aber ich würde das gerne über VBA machen!
Habe jetzt auch eine Lösung gefunden. Die Lösung verstehe ich zwar nicht, aber sie funktioniert.
In Kombination mit [Termin] funktioniert die Berechnung.
Also: [Termin]-[Termin]+[Abschluss]-[Datum]
Meines Erachtens nach unlogisch, aber was solls!
Gruß
Michael