Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet 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.
-
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.
-
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
-
Zu 2) Ist das unter ND 6 wirklich besser?
Armin
-
Besser ja, aber das heisst ja noch lange nicht gut ...
Bernhard
-
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?
-
Genau das hatte ich doch gepostet ...
Bernhard
-
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... ??? ??? ???
-
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
-
Die Ansicht ist nach Spalte 1 = Mitarbeiter sortiert ?
@Sum(@DbLookup("":"NoCache";"Server":"Datenbank"; "Ansichtsname";"MitarbeiterName"; Spaltezahl1))
Das letzte Argument muss eine Zahl sein !
-
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?
-
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
-
OK! Danke... habe ich ausgebessert! Aber ich bekomme die Meldung immer noch! ??? Hat jemand noch nen Tipp?
-
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
-
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).
-
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?
-
Du suchst in der Ansicht nach "bsh". So heisst wohl keiner.
Du musst Dich auf den Feldinhalt beziehen, also bsh ohne Anführungszeichen.
Bernhard
-
Hi,
genau das hatte ich doch weiter oben schon geschrieben.
Axel
-
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.
-
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(...)))
-
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!
-
Sorry, das mit dem Wert in der Ansicht verstehe ich jetzt nicht ganz. Wie ist denn die Ansicht überhaupt aufgebaut ?
-
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.
-
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.
-
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...
-
Kannst Du die Datenbank hier reinhängen ? Wird sonst an dieser Stelle wohl schwierig mit der Fehlersuche.
-
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
-
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