napperman
Goto Top

Access Formular mit DomSumme und Kriterien, Platzhalter im Kriterium

Hallo zusammen.

Ich habe hier ein Accessprojekt bei dem ich mittels folgendem Befehl
=DomSumme("[zeitsumme]";"Zeiten";"[Globalnummer] = 900001")
Die Summe aller Zeiten bilde, die die Globalnummer 900001 haben.
Das ganze passiert in einem Unterformular.
Ich möchte allerdings, dass nur die letzten 5 Ziffern berücksichtig werden, also nach dem Muster *00001.
Das mit dem Stern funktioniert aber nicht. Ich hatte da noch den Befehl Right im Hinterkopf komme da aber nicht
so recht mit zurecht.
Da es sich um eine Erweiterung eines bestehenden Projekts handelt möchte ich ungern die Abfragen ändern, sondern lieber im
Formular rechnen.
Hat jemand nen Tipp?

Gruß,

Napperman

Content-ID: 129763

Url: https://administrator.de/contentid/129763

Ausgedruckt am: 25.11.2024 um 05:11 Uhr

Biber
Biber 19.11.2009 um 22:09:43 Uhr
Goto Top
Moin Napperman,

Nachfrage:
Wenn (dem jetzigen Befehl zufolge) doch das Feld "Globalnummer" eine ZAHL ist und kein String,
  • WTF werden dann Zeiten nach den Endziffern aggregiert?? Hat wieder Stevie Wonder Daten modelliert?
  • wenn es denn wirklich Sinn macht oder zumindest nicht zu ändern ist: wie groß (meinetwegen wie lang) können denn die Zahlen sein? Von 1 bis 188 Mio? Oder von 100000 bis 999999? Denn vor einem Right()/rechts() sollten die eigentlich erstmal zu einem String konvertiert werden
  • eigentlich wäre ja etwas wie Wildcards bei numerischen Werten mit der Modulo-Funktion zu machen... aber dazu müsstest du mal im ganzen Satz erzählen, welche "Endziffern" ggf. zusammengeschaufelt werden sollen. Oder ist dieses "*00001" der einzige Fall?

Grüße
Biber
napperman
napperman 20.11.2009 um 08:58:25 Uhr
Goto Top
Hallo Biber,

Ich versuche das mal näher zu erklären:
Es handelt sich um eine Datenbank, in der Zeiten zu Projekten erfasst werden. Die Globalnummer ist immer die Projektnummer, mit dem Kürzel 9 für das aktuelle Jahr.
Nächstes Jahr steht da also ne 10.
Die Letzten 5 Stellen sind also die Projektnummer, wobei die 00001 für die reine Anwesenheitszeit steht.

Ich habe bereits ein Formular, in dem mittels der Abfrage "Zeiten" die Zeiten eines jeden Mitarbeiters zu den einzelnen Projekten ausgegeben werden.
"Zeitensumme" wird aus der Abfrage mit der Zeitensumme auf einen Auftrag (werden mit Start und Ende im Format dd.mm.jj hh:mm:ss in der Datenbank angelegt) in Minuten gefüllt.
Das Formular besteht aus dem Formular Zeitensuche welches die Parameter an die Abfrage übergibt. Ein Unterformular bildet dann das Ergebnis ab.
In diesem Unterformular rechne ich dann noch mit den einzelnen einzelnen Zeitensummen weiter.

Ich möchte nun zum Beispiel die Summe der Anwesenheit eines MA zusammensetzen. Ich habe von den einzelnen Tagen also die Summen in Minuten.
Brauche aber nur die Gesamtsumme aller Einträge mit der Globalnummer die auf 00001 endet, weil ich das ja nicht für jedes Jahr umbauen möchte.
Es gibt dann aber noch die Summen der Zeiten auf die Globalnummern die auf 00013 und 00014 enden, diese werden jeweils einzeln summiert nach dem im
Eröffnungsthread beschriebenen Schema für 00001.

Danke schon mal fürs Lesen!

Gruß, Napperman
27234
27234 20.11.2009 um 14:59:18 Uhr
Goto Top
Hallo,

für die 00001:
=DomSumme("[zeitsumme]";"Zeiten";"[Globalnummer] Mod 10000 = 1")

für die 00013:
=DomSumme("[zeitsumme]";"Zeiten";"[Globalnummer] Mod 10000 = 13")

Gruß René

P.S. Das ist aber nur ein "Notnagel", zum Sinn solcher Aktionen - siehe Biber.
napperman
napperman 20.11.2009 um 15:21:28 Uhr
Goto Top
Hallo René,

Das scheint zu funktionieren. Danke für den Tipp!!!