Autor Thema: Problem mit GetAllDocumentsByKey  (Gelesen 2220 mal)

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Problem mit GetAllDocumentsByKey
« am: 31.01.04 - 17:57:20 »
Ich möchte bestimmte Dokumente einer Ansicht zählen und die Entsprechende Anzahl ausgeben.

Die Ansicht hat in der ersten Spalte en Key
Möglichkeiten sind: "E²", "H" und "W"
Dokumente die gezählt werden sollen haben "E²" oder "H".

Die Formel die ich nehme beinhaltet:
Dim Key(0) As String
Dim Key(1) As String

Key(0) = "E²"
Key(1) = "H"

...GetAllDocumentsByKey(Key,True)

Ich bekomme aber die Fehlermeldung "Too many keys in GetAllDocuments...

Was mache ich falsch?

Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:Problem mit GetAllDocumentsByKey
« Antwort #1 am: 31.01.04 - 19:32:12 »
Hi,

so sind die Regeln nicht.
Du benutzt einen zusammengesetzten key.
Das würde funktionieren, wenn auch die 2. Spalte sortiert wäre.
Dann würde die getAllDocumentsByKey (array) Funktion nach allen Dokumenten in der Ansicht suchen, die in der ersten Spalte E2 und und in der zweiten Spalte H haben.
Das ist aber nicht in deinem Sinne. Du willst eine Art OR-Operator. Oder der logische Operator IN in SQL (WHERE wert IN werteListe)
Eine solche Funktionalität bietet getAllDocumentsByKey aber nicht an.

Du musst 2 getAllDocumentsByKey gegen die Ansicht senden.
Dim col As NotesDocumentCollection
Dim Key as String
Dim countAll As integer

Key = "E²"
col = vw.GetAllDocumentsByKey(Key,True)
countAll = col.count

Key = "H"
col = vw.GetAllDocumentsByKey(key, true)
countAll = countAll + col.count

Besser vom Sauberen-Programmierstandpunkt wäre es die keys als Array zu übergeben und das ganze in einer Schleife abzuarbeiten.
Wobei der Funktion getAllDocumentsByKey jeweils ein Element des Arrays übergeben wird.

Gruß Axel
« Letzte Änderung: 31.01.04 - 19:47:00 von Axel_Janssen »
... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Problem mit GetAllDocumentsByKey
« Antwort #2 am: 31.01.04 - 21:54:29 »
Hier stimmt die ganze Syntax nicht. NotesView.GetAllDocumentsByKey muss ein String oder ein array of strings übergeben werden.
Ohne jetzt weiter auf Axels völlig richtige Einwendungen einzugehen, nur folgendes:
Syntaktisch wäre korrekt:
Dim aKeys (0 to 1) as String
aKeys (0) = "gaga"
aKeys (1) = "blabla"
Jetzt kann man in der gewünschten View nach "gaga" in Spalte 1 (sortiert !) und "blabla" in Spalte 2 (sortiert!) suchen.

Wie Axel schon sagte: NotesView.GetAllDocumentsByKey hat mit dem Operator "OR" absolut nichts zu tun. Entweder Du baust Dir zwei Collections und wertest diese aus oder verwendest eine weniger performante NotesDatabase.Search oder Du arbeitest mit der Volltextsuche.

Könnte sich Deine Firma vorstellen, mal einen Profi für ein "Training on the job" anzuheuern ? Irgendwie stocherst Du nach wie vor im Nebel, Boris ...

Bernhard

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Problem mit GetAllDocumentsByKey
« Antwort #3 am: 02.02.04 - 09:05:26 »
OK habs jetzt anders gelöst. Ich dachte halt das es irgendwie mit OR zu lösen wäre.

Bernhard, das mit einem Training ist so eine Sache.
1. Meine Haupttätigkeit ist etwas völlig anderes.
2. Schulungen die im Haus angeboten werden sind nur Grundlagen.
3. Bei einem Grundlagenkurs (den man braucht um den Designer zu bekommen) habe ich nachgefragt ob man nicht ein wenig auf script eingehen könnte. Antwort war: ".....ihrer Organisation ist es am liebsten wenn Sie überhaupt nicht wissen das es script gibt..."
Das hat damit zu tun das wir für Hardware, Software eine Firma beschäftigen die dann wohl weniger Arbeit hätte.

Naja und deshalb muss ich mir da selbst helfen.
Gruss
Boris

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz