Autor Thema: Bilden einer Summe  (Gelesen 7581 mal)

Offline killinspree

  • Aktives Mitglied
  • ***
  • Beiträge: 135
  • Geschlecht: Männlich
  • Intelligente Bomben explodieren nicht!
    • burninzoo.de
Bilden einer Summe
« am: 06.10.03 - 17:48:10 »
 :DHi,

ich habe mal wieder ein kleines Problem mit der Zeiterfassungsdatenbank.

folgendes, ich möchte natürlich die summe für alle arbeitsstunden pro tag für den laufenden monat bilden.

ich komme soweit das ich mir die dokumente die ich brauche, über dblookup raussuche.
dazu filtere ich nach benutzername, monat und jahr
z.B.
Heinz Mustermann92003 >> ein eintrag von Heinz Mustermann im September 2003.



soweit so gut. jetz hab ich schon mal selektiert welche datensätze die summe bilden sollen.



hier mein problem, wie bilde ich die summe aus dem feld "stundentag" das ich über die dblookup funktion selektiert habe? ???
-killinspree-

3x domino 6.0.2 auf nt 5 server
1x domino 6.0.2 für meine privaten spielereien
350x clients w2k davon 70 im aussendienst; clientseitig LN 6.5.1
20x handhelds

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Bilden einer Summe
« Antwort #1 am: 06.10.03 - 18:12:59 »
Ein paar Hintergrundinformationen wären jetzt hilfreich ...
Wie kommst Du denn zu Heinz Mustermann92003 ? Und wie dann zu Wanda Fisch92003? Planst Du irgendwelche Schleifen ? Was soll mit den ermittelten Summen passieren ?

Daher erstmal ganz allgemein: @Sum summiert eine Zahlenliste, wie Du sie über @dbLookup eventuell jetzt schon bekommst.

Noch allgemeiner: Mit @functions wirst Du hier nicht sehr weit kommen.

Aber vielleicht sind Deine Randbedingungen ja doch so, daß man mit @functions was drehen kann. Schau'n wir mal ;-)

So long,
Bernhard

Offline killinspree

  • Aktives Mitglied
  • ***
  • Beiträge: 135
  • Geschlecht: Männlich
  • Intelligente Bomben explodieren nicht!
    • burninzoo.de
Re:Bilden einer Summe
« Antwort #2 am: 07.10.03 - 13:15:05 »
 ;D
hi @all
@bernhard ich plane eigendlich keine schleifen zu programmieren.

ich kann doch mit @sum() in ein dokument reingreifen und aus einem feld im dokument einen wert holen den ich summieren will.
wie funktioniert das wenn ich
ein dokument habe das z.B. erfTAG heisst in dem werden jeweils die Stunden des Tages(für jeden Tag extra) gespeichert und die will ich alle addieren lassen.


danke für eure hilfe
mfg
« Letzte Änderung: 07.10.03 - 13:21:15 von killinspree »
-killinspree-

3x domino 6.0.2 auf nt 5 server
1x domino 6.0.2 für meine privaten spielereien
350x clients w2k davon 70 im aussendienst; clientseitig LN 6.5.1
20x handhelds

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Bilden einer Summe
« Antwort #3 am: 07.10.03 - 14:29:09 »
hm.. von dblookup bekomme ich je nachdem das zurück:
Alternative A) ich lasse mir einen Spaltenwert aus der View zurückgeben => bekomme nur den Wert, der in der View angezeigt wird -> Frage: hast die SpaltenView auf Mehrfachwerte eingestellt, so daß diese auch sichtbar sind?

Alternative B) ich lasse mir einen Feldwert zurückgeben (statt Spaltennummer Feldname in DBlookup angeben): Dann bekomme ich alle Werte aus dem gegebenen Feld zurück. Und mit @sum(Rückgabe) kann ich die Zahlen aufrechnen.

Alternative C) ich habe in einem Dokument mehrere Felder, die die Stunden enthalten .. dann summiere ich natürlich im Doc in ein weiteres Feld die Stunden auf, bevor ich mit DBLookup nachher die Summe kompliziert rausrechnen müßte; so greift man mit DBLookup nur auf das eine Summenfeld zu

Was haste eigentlich konkret für Feldwerte im Feld stehen?
Arbeitsstunde:Arbeitsminute Industrie (04:30)
oder
Stunden,Minuten = 2,34 (in Dezimal die Minuten)
?
« Letzte Änderung: 07.10.03 - 14:31:32 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline killinspree

  • Aktives Mitglied
  • ***
  • Beiträge: 135
  • Geschlecht: Männlich
  • Intelligente Bomben explodieren nicht!
    • burninzoo.de
Re:Bilden einer Summe
« Antwort #4 am: 07.10.03 - 14:53:58 »
hi rob green,

 ;)
ich habe die dezimal stunden in dem feld das addiert werden sollte.
die spalte lässt keine mehrfachwerte zu.

@rob g. : rein gefühlstechnisch würde ich variante b als am einfachsten errachten.
               aber die frage ist kann dblookup auch werte aus einem feld mehrerer
               dokumente rauslesen??

>>ich würde gerne mal eine screenshot hochladen aber es funktioniert einfach nicht. da kommt immer ungültige seite. das bild ist 76kb groß.

wenn ihr eine screeshot braucht bitte private mitteinlung an mich, mit email, dann schick ich einen durch. Geht leider nícht anders.<<




-killinspree-

3x domino 6.0.2 auf nt 5 server
1x domino 6.0.2 für meine privaten spielereien
350x clients w2k davon 70 im aussendienst; clientseitig LN 6.5.1
20x handhelds

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Bilden einer Summe
« Antwort #5 am: 07.10.03 - 14:58:47 »
wenn man per DBLookup 10 Trefferdokumente bekommt, und dabei das Feld ABC ausliest, ist der Rückgabewert der Inhalt des Feldes ABC, von allen 10 Trefferdokumenten = eine Werteliste

also 10:12:10:18:19:....

die Summe müßte eigentlich per @sum(Rückgaberwert aus DBLookup) korrekt gebildet werden. Es müssen natürlich Zahlenfelder sein bzw. die Rückgabewerte müssen schon Zahlen sein. Wenn nicht, dann @sum(@texttonumber(...))
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline killinspree

  • Aktives Mitglied
  • ***
  • Beiträge: 135
  • Geschlecht: Männlich
  • Intelligente Bomben explodieren nicht!
    • burninzoo.de
sau cool des probier ich jetzt mal
« Antwort #6 am: 07.10.03 - 15:02:58 »
@rob,
vielen dank des probier ich des mal, ich sag heute noch bescheid...
 ::)
-killinspree-

3x domino 6.0.2 auf nt 5 server
1x domino 6.0.2 für meine privaten spielereien
350x clients w2k davon 70 im aussendienst; clientseitig LN 6.5.1
20x handhelds

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Bilden einer Summe
« Antwort #7 am: 07.10.03 - 15:04:52 »
Wie Rob eben schon schrieb:
@DbLookup gibt aus allen Dokumenten, die Schlüssel entsprechen (bei Dir wäre das dann wohl "Heinz Mustermann92003", in einer Liste entweder die Werte aus Spalte n oder aus Feld "Feldname" zurück.

Für Deinen Zweck müssen die Rückgabewerte natürlich Zahlen sein.

Folgende Formel
v := @Sum (@DbLookup( "" : "NoCache" ; ""  : ""  ; "Main"  ; "A"  ; 2 ));
bildet die Summe aus allen Werten in Spalte 2 für die Dokumente, bei denen in der ersten sortierten Spalte der Wert "A" steht.

HTH,
Bernhard

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Bilden einer Summe
« Antwort #8 am: 07.10.03 - 15:09:02 »
Nachtrag:
Das "NoCache" könnte ggf. kontraproduktiv sein, da Du Deine Summenbildung ja händisch betreiben willst. Will heissen: Der Anwender macht einen oder mehrere Einträge und will dann gleich die Monatssumme ermitteln. Die zuletzt eingegeben Einträge werden aber erst berücksichtigt, wenn der Anwender die DB schliesst und erneut öffnet.
Das solltest Du berücksichtigen.

HTH,
Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Bilden einer Summe
« Antwort #9 am: 07.10.03 - 16:27:46 »
Bernhard, meinst Du das vielleicht umgekehrt? NoCache sollte ja genau das verhindern und die Daten jedesmal aus der Datenbank lesen (wobei der Effekt nicht immer funktioniert, da ja der View-Index zuerst wieder aktualisiert werden muss). Ein "" (leerer String) verursacht, dass die Daten nur beim ersten Aufruf gelesen werden und dadurch zu dem geschilderten Effekt führt.

Ab N6 ist dann neu ein ReCache dazu gekommen, um programmgesteuert ein neues Einlesen der Werte zu ermöglichen.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Bilden einer Summe
« Antwort #10 am: 07.10.03 - 16:32:39 »
Oh Mann, ich stehe heute wirklich neben mir (obwohl ich eigentlich überhaupt nicht unter Stress stehe) ...
Natürlich: "NoCache" muß verwendet und nicht weggelassen werden ...
Jetzt muß ich mal fix suchen - den Dummfug habe ich heute auch in einem anderen Posting geschrieben ...

Danke, Semeaphoros,
Bernhard

Offline killinspree

  • Aktives Mitglied
  • ***
  • Beiträge: 135
  • Geschlecht: Männlich
  • Intelligente Bomben explodieren nicht!
    • burninzoo.de
Juhu ich hab die lösung
« Antwort #11 am: 07.10.03 - 16:37:25 »
ich muss gestehen ich bin nicht ganz alleine drauf gekommen.

aber um eine spalte zu summerien na bestimmten kriterien, habe ich einfach die
Ansicht Kopiert, umbenannt in Auswertung.

dann hab ich als aller erste spalte den Monat aus dem Datum extrahiert.
sprich september = 9
zweite spalte Mitarbeiter
dritte spalte Datum
vierte und fünft die zeiten arbeitsbeginn - und ende
sechste spalte stunden

in der spalte stunden habe ich gesagt werte gesamt (in der Infobox auf der zweiten seite bei summe)

jetzt habe ich zwei fliegen mit einer klappe erschlagen.
und zwar habe ich jetzt die gesamtstunden für ein monat
und die gesamtstunden für einen tag

cool oder...
ich weis das das nicht sehr professionell ist aber trotzdem irgendwie schön gelöst


Danke für eure Hilfe
-killinspree-

3x domino 6.0.2 auf nt 5 server
1x domino 6.0.2 für meine privaten spielereien
350x clients w2k davon 70 im aussendienst; clientseitig LN 6.5.1
20x handhelds

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Bilden einer Summe
« Antwort #12 am: 07.10.03 - 16:49:23 »
Always trying to be ca(t)ching Dummfug ....... :-)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Bilden einer Summe
« Antwort #13 am: 07.10.03 - 16:54:48 »
Schön, daß es geklappt hat ;-)

Vielleicht noch ein Tip aus meiner Praxis:
Per Button oder wie auch immer machst Du via @dbLookup eine Summierung der Monatsstunden - also programmatisch, und Du nimmst dafür die Ansicht "XY" her.
Jetzt könnte es passieren, daß irgendeiner auf den Trichter kommt, daß Ansicht "XY" "nicht so hübsch" ist, und Du mußt die Ansicht ändern (noch 'ne Spalte einfügen oder eine verändern oder ...)
Und genau damit funktioniert auf einmal Dein @dbLookup nicht mehr ...
Wenn Du also programmatisch auf Werte in Ansichten zugreifst, dann sollten dies immer "versteckte Ansichten" (also sowas wie "(ABC)") sein - auch wenn es derzeit genau die gewünschte Ansicht für die User schon gibt. Du kannst Dir dort aber auch "unschöne" Ansichten zusammenbauen (sieht ja keiner ;-), die genau den Belangen der Formeln oder LS-Konstrukte entsprechen, und wenn dort eine Änderung erforderlich sein sollte, dann weißt Du an Hand des Namens in Klammern: "Hoppla, da muß ich erst allen Code checken, der auf diese Ansicht zugreift!".

ODER:
Hast Du uns jetzt auf's Glatteis geführt, und Du hast uns auf @dbLookup gehetzt und hintenrum Dein Problem mit einer simplen Ansicht gelöst ?

Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Bilden einer Summe
« Antwort #14 am: 07.10.03 - 17:23:51 »
Oh ja, diesen Hinweis aus der Praxis kann ich nur mit aller Deutlichkeit unsterstreichen:

Niemals programmatisch auf eine sichtbare Ansicht zugreifen!


Na ja, so wie ich das verstanden habe, hat er jetzt tatsächlich die Sache mit Ansicht gelöst, ohne dbLookup, aber offenbar ganz einfach, weil er die für ihn naheliegende Lösung erst nach der Diskussion entdeckte ......
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline killinspree

  • Aktives Mitglied
  • ***
  • Beiträge: 135
  • Geschlecht: Männlich
  • Intelligente Bomben explodieren nicht!
    • burninzoo.de
antwort @bernhard
« Antwort #15 am: 07.10.03 - 17:34:44 »
also ich hab mit unserem notes consultend telefoniert der hat sich die datenbank schnell mal angeschaut.

und nach einer minute sagte er, wieso so kompliziert mit @dblookup. mach doch eine eigene ansicht für die auswertung.

ganz ehrlich ich hab nicht die zeit und auch wahrscheinlich nicht die kompetenz im notesumfeld euch hier aufs glatteis zu führen. ich habe nach einer lösung für mein problem gesucht.

zugegeben mein erster gedanke mit dblookup wäre ein bischen professioneller gewesen, denke ich zumindest, aber hald auch komplizierter.
und ich will ja eigendlich nur eine einfache zeiterfassungsdatenbank programmieren in der die benutzer auf knopfdruck eingeloggt werden und auf knopfdruck wieder ausgeloggt werden.

da liegt es natürlich nahe das ich auch eine auswertung oder im einfachsten fall eine summierte gesamtzeit für die buchhalter brauche die das ganze verrechnen.
denn wenn ich das nicht gleich von anfang an einbaue dauert es 1 monat bis die zu mir kommen und genau das haben wollen,oder!!

also nichts für ungut und
@all
danke für eure hilfe
-killinspree-

3x domino 6.0.2 auf nt 5 server
1x domino 6.0.2 für meine privaten spielereien
350x clients w2k davon 70 im aussendienst; clientseitig LN 6.5.1
20x handhelds

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Bilden einer Summe
« Antwort #16 am: 07.10.03 - 17:46:17 »
Nö nö, ich hab da wirklich keine Absicht vermutet. Ich denke auch nicht, dass eine dblookup-Version wirklich professioneller ist als mit einer entsprechenden View.

Da wurde ganz einfach viel zu weit gesucht, das passiert halt, ist uns allen schon passiert und wird uns solange passieren, wie wir uns mit irgend einer Art von Programmierung zu tun hat.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Bilden einer Summe
« Antwort #17 am: 08.10.03 - 10:03:14 »
hm... Ansicht für visuelle Auswertungen nehmen, ok.
Ansicht für digitale Auswertungen nehmen, ... Import in Excel ...kategorisiert ..ätz ... neu gruppieren ... Herr xxxx "können sie uns nicht ein simples Datenblatt in Notes stricken?" Antwort:"na klar, per dblookup, aber der Notes Spezialist sagte, ich solle die Ansicht nehmen"  ;D ;D

(ok, habe nur laut gedacht, alle Wege führen nach Rom bzw. dblookup)
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz