Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Silver am 30.03.04 - 16:45:24

Titel: Summe Datensätze ermitteln
Beitrag von: Silver am 30.03.04 - 16:45:24
Hallo nochmals...

habe noch zwei Problemchen:

1. Muss aus einer DB mit über 1.000 Datensätzen eine Maske erstellen, die alle Mitarbeiter mit Anzahl deren eingestellter Aufträge ermittelt. Also über eine Maske wurden Aufträge erfasst - und zu diesen jeweils ein Mitarbeiter zugeordnet. Jetzt muss/soll ich über eine Auswertung die Anzahl der Aufträge zu jedem Mitarbeiter in einer Maske errechnen. Kann ich das irgendwie über ne Funktion mit Anzahl der Zeilen pro Mitarbeiter in ner Ansicht???

2. Ich habe eine eingebettete Ansicht - diese lässt sich aber leider nicht ausdrucken - nur Titelleiste - keine Datensätze, obwohl das Häkchen in den Eigenschaften zum Verbergen des Absatzes beim Druck entnommen.  ???

Hoffe Ihr könnt mir nochma helfen.
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Driri am 30.03.04 - 17:00:04
zu 1)

Da würde ich eine Ansicht vorschlagen. Spalte 1 als Kategorie, Wert ist dann der Mitarbeiter, letzte Spalte wird mit Wert 1 vorbelegt und in den Eigenschaften der Spalte setzt Du auf dem zweiten Tab unten bei "Summe" -> Gsamt und verbirgst die Detailzellen. Die Ansicht sollte dann automatisch komprimiert werden.

zu 2)

Ich meine, daß das in Notes 5 immer schon ein Problem mit dem Ausdruck von eingebetteten Ansichten war. Such mal im Forum, da gabs schon einige Diskussionen zu.
Titel: Re:Summe Datensätze ermitteln
Beitrag von: koehlerbv am 30.03.04 - 17:14:26
Zu 1) Eine Ansicht wohl, sortiert nach Mitarbeiter, zweite Spalte dann Zahlenwert 1. Und dann per @Sum (@dbLookup (Schlüssel = Mitarbeiter, auszulesende Spalte die mit der 1) ... aufsummieren. Dann kann man das auch wie gewünscht in einer Maske darstellen.

2) Ohne Worte - das ist so.

HTH,
Bernhard
Titel: Re:Summe Datensätze ermitteln
Beitrag von: cococo69 am 30.03.04 - 17:49:32
Zu 2) Ist das unter ND 6 wirklich besser?

Armin
Titel: Re:Summe Datensätze ermitteln
Beitrag von: koehlerbv am 30.03.04 - 18:07:08
Besser ja, aber das heisst ja noch lange nicht gut ...

Bernhard
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Silver am 31.03.04 - 08:02:52
Hallo!

Vielen Dank schon mal... aber über Ansichten möchte ich die einzelnen Datensätze nicht Summieren. Denn mit der Summe muss ich noch weiter rechnen - deshalb Maske.

Hat jemand eine Idee?
Titel: Re:Summe Datensätze ermitteln
Beitrag von: koehlerbv am 31.03.04 - 08:13:39
Genau das hatte ich doch gepostet ...

Bernhard
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Silver am 31.03.04 - 08:47:07
Sorry hab ich verpennt...
packs leider nicht kannst Du mir nochmals Hilfestellung geben. Hier meine Formel für berechnetes Feld:
@Sum(@DbLookup("":"NoCache";"Server":"Datebank"; "Ansichtsname";"SpalteMitarbeiter";"Spaltezahl1"))

Es kommt aber bei Aufruf der Maske Fehler: Feld "Anzahl" Eintrag im Index nicht gefunden.

Hmmm...  ??? ??? ???
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Axel am 31.03.04 - 08:49:45
Hi,

wenn du die @DbLookup-Formel so eingetragen hast kann das nicht gehen. Du musst z.B. Server durch den Namen deines Server ersetzen usw.


Axel
Titel: Re:Summe Datensätze ermitteln
Beitrag von: koehlerbv am 31.03.04 - 08:51:10
Die Ansicht ist nach Spalte 1 = Mitarbeiter sortiert ?

@Sum(@DbLookup("":"NoCache";"Server":"Datenbank"; "Ansichtsname";"MitarbeiterName"; Spaltezahl1))
Das letzte Argument muss eine Zahl sein !
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Silver am 31.03.04 - 09:03:42
Die Ansicht ist aufsteigend sortiert und die Spalteninhalt ist der Name der Mitarbeiter. Kategorie hab ich keine.

In der Maske habe ich für mein Zahlenfeld folgende Formel:
@Sum(@DbLookup("":"NoCache";"Asterix":"auftraege.nsf"; "Anzahl";"bsh"; 2))

Was mache ich falsch?
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Axel am 31.03.04 - 09:13:10
Hi,

holst du dir den Namen des Mitarbeiters aus dem Feld bsh ?

Wenn ja, darf der Ferldname nicht in Anführungszeichen stehen. sonst sucht er nach dem Mitarbeiter mit dem Namen bsh.


Axel


Titel: Re:Summe Datensätze ermitteln
Beitrag von: Silver am 31.03.04 - 09:20:53
OK! Danke... habe ich ausgebessert! Aber ich bekomme die Meldung immer noch!  ??? Hat jemand noch nen Tipp?
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Axel am 31.03.04 - 09:32:35
Hi,

versuch doch mal den Namen eines Mitarbieters, den es in der Ansicht auf jeden Fall gibt, direkt als Parameter zu übergeben. Dann siehst du ob es prinzipiell funktioniert.

Axel
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Driri am 31.03.04 - 09:33:59
Sind die Parameter für Server und DB korrekt ? Steht die DB wirklich im Root ?

Heißt die View wirklich "Anzahl" ? Sonst versuch nen Alias (falls vorhanden).
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Silver am 31.03.04 - 10:24:15
Sorry nochmals... bin immer noch am kämpfen. Wie muss denn die Ansicht aussehen?
Hab jetzt zwei Spalten:
- in der ersten Sachbearbeiter mit Feld "bsh" (zeigt Namen an)
- in der zweiten ein Feld mit Wert 1 zum addieren oder muss ich das mit "1" setzen?

Erstes Feld ist aufsteigend sortiert und bei Typ "Kategorien". Ansicht heisst Anzahl.

Hier jetzt meine Feldformel, mit der ich die jeweilige Summe für einen Mitarbeiter in einer Maske errechnen möchte:
@Sum(@DbLookup("":"NoCache";"Asterix":"auftraege.nsf"; "Anzahl";"bsh"; 2))

Was mache ich falsch?
Titel: Re:Summe Datensätze ermitteln
Beitrag von: koehlerbv am 31.03.04 - 10:26:44
Du suchst in der Ansicht nach "bsh". So heisst wohl keiner.
Du musst Dich auf den Feldinhalt beziehen, also bsh ohne Anführungszeichen.

Bernhard
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Axel am 31.03.04 - 10:28:39
Hi,

genau das hatte ich doch weiter oben schon geschrieben.


Axel
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Silver am 31.03.04 - 10:36:51
So, habe jetzt die Formel auf ne Person abgeändert, die es gibt und zwar wie folgt:

@Sum(@DbLookup("":"NoCache";"Asterix":"auftraege.nsf"; "Anzahl";"Ullrich Meyer"; 2))

Jetzt bekomme ich ne Fehlermeldung, Falscher Datentyp für Operator oder @Funktion Zahl erwartet

Wo muss ich denn jetzt noch auf numerisch schalten?

Mein Feld habe ich auf Zahl und Berechnet stehen.
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Driri am 31.03.04 - 10:43:02
Vermutlich liefert Dir der DBLookup einen String zurück, @Sum benötigt aber Zahlen.
Häng mal noch nen @TextToNumber davor, also

@Sum(@TextToNumber(@DBLookup(...)))
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Silver am 31.03.04 - 10:50:49
Hab ich gemacht... allerdings kommt jetzt nur als ergebnis @error.
Muss man das kappieren???

Muss ich in der Ansicht "1" für Wert schreiben oder nur 1 - aber hab schon beides versucht!
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Driri am 31.03.04 - 10:55:11
Sorry, das mit dem Wert in der Ansicht verstehe ich jetzt nicht ganz. Wie ist denn die Ansicht überhaupt aufgebaut ?
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Silver am 31.03.04 - 10:59:47
Hab jetzt zwei Spalten:
- in der ersten Sachbearbeiter mit Feld "bsh" (zeigt Namen an)
- in der zweiten ein Feld mit Wert 1 zum addieren oder muss ich das mit "1" setzen?

Erstes Feld ist aufsteigend sortiert und bei Typ "Kategorien". Ansicht heisst Anzahl.

Komme ich damit so hin???

wollte das so wir mir geraten wurde umsetzen:
---------------------------------------------------------------------------------
Zu 1) Eine Ansicht wohl, sortiert nach Mitarbeiter, zweite Spalte dann Zahlenwert 1. Und dann per @Sum (@dbLookup (Schlüssel = Mitarbeiter, auszulesende Spalte die mit der 1) ... aufsummieren. Dann kann man das auch wie gewünscht in einer Maske darstellen.
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Driri am 31.03.04 - 11:24:33
So, habs gerade mal ausprobiert. Also in der Ansicht muß natürlich 1 stehen, sonst keine Summierung.

Du bekommst natürlich mit der @Sum einen Zahlenwert zurück. Wenn Du den Wert also irgendwie weiterverarbeitest, mußt Du ihn evtl. noch in einen String konvertieren.

Wenn Du in der Ansicht 1 als Wert verwendest, dann sollte Dir die Formel

@Sum(@DbLookup("":"NoCache";"Server":"DB";"Ansicht"; "Name"; 2))

einen Zahlenwert zurückliefern.
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Silver am 31.03.04 - 11:37:06
Sorry... aber das läuft bei mir unter Notes 5.0.5 nicht.  :'(
Ich hab wie beschrieben eine Ansicht mit allen Mitarbeitern und eine Spalte mit jeweils Wert 1.
Dann will ich die Summe bilden wie folgt:
@Sum(@DbLookup("":"NoCache";"Server":"DB";"Ansicht"; "Name"; 2))

Natürlich habe ich die Formel meinen Bedürfnissen (Bezeichnungen) angepasst. Bekomme aber immer wieder den Hinweis, dass Zahl erwartet o. ä. Beim Umwandeln in Text bekomme ich @error als Ergebniss. Ich bin platt...
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Driri am 31.03.04 - 11:40:51
Kannst Du die Datenbank hier reinhängen ? Wird sonst an dieser Stelle wohl schwierig mit der Fehlersuche.
Titel: Re:Summe Datensätze ermitteln
Beitrag von: koehlerbv am 31.03.04 - 11:42:28
Mach mal zur Fehlerabgrenzung folgendes:
- Dein Summenfeld erstmal als Textfeld (damit die Fehlermeldung nicht unterdrückt wird)
- Als Formel dann:
@DbLookup("":"NoCache";"Server":"DB";"Ansicht"; Feld_mit_Mitarbeiter; 2)
Feld_mit_Mitarbeiter ohne Anführungszeichen !
Wenn dbLookup in der gleichen DB stattfindet, kannst Du "Server" : "DB" ersetzen durch
@DbName oder
"" : ""

Wenn das Ding dann läuft, dann wieder Zahlenfeld aus Text machen und folgende Formel nehmen, die auf Fehler prüft:
@If (@ISError (@DbLookup("":"NoCache";"Server":"DB";"Ansicht"; Feld_mit_Mitarbeiter; 2)); 0; @Sum (@DbLookup("":"NoCache";"Server":"DB";"Ansicht"; Feld_mit_Mitarbeiter; 2)))

Wenn Du Deine Ansicht kategorisiert hast, nimm dies mal bitte (sicherheitshalber) 'raus.

Bernhard
Titel: Re:Summe Datensätze ermitteln
Beitrag von: Silver am 31.03.04 - 12:59:03
Super... Danke danke danke! Wirklich klasse Euer Einsatz.
Hab`s rausgefunden - mit Eurer Hilfe. Lag in der Ansicht an der Aufsummierung und Ausblendung der Zwischenzeilen.
Danke!  ;D ;D ;D