Domino 9 und frühere Versionen > ND6: Entwicklung
Abfrage mit Array klappt nicht
(1/1)
ext02:
Hallo erst mal alle
hab ein kleines Problem mit Notes entwickle steit ungefähr 2 Monaten mit Notes und hatte bis jetzt kaum Probleme aber hierbei komme ich einfach nicht weiter!
Ich will eine Db View abfragen ob in zwei Spalten (1 und 2)
Werte vorhanden sind die mit meiner Suche übereinstimmen und versuche das ganze mit einem Array. Der folgende Quellcode verwende ich, 1 und 3 klappen nicht 2 und 4 klappen!
Wer kann mir helfen??????
Set db = session.CurrentDatabase()
Set view = db.GetView("(LookUpPresenceTimetable)")
Dim array(0 To 1) As String
array(0) = myworker
array(1) = myproject
'alle Mitarbeiterdokumente selektieren
1) Set collection = view.
GetAllEntriesByKey(array,False)
2) Set collection = view.
GetAllEntriesByKey(myworker,False)
3) Set collection = view.
GetAllEntriesByKey(myproject,False)
4) Set collection = view.
GetAllEntriesByKey(array(0),False)
Set viewentry = collection.GetFirstEntry()
ata:
... sind myWorker und myProject globale Variabeln - oder was?
... in der ersten Spalte der Ansicht steht der Wert zu myWorker, daher funktionieren 2 und 4 - da dort nicht myProject zu finden ist - ich vermute in Spalte 2 zu finden, kann er das mit in der ersten Spalte eben nicht finden...
ata
HarryB:
Ich habe ein ähnliches Problem mit GetAllEntriesByKey. Mein Code sieht wie folgt aus:
--- Code: ---Dim ses as New NotesSession
Dim db as NotesDatabase
Dim keyword as String
Dim lookupKey() As String
Dim lookupView As NotesView
Dim entryColl As NotesViewEntryCollection
...
Set db = ses.CurrentDatabase
Set lookupView = db.GetView("($lookupView)")
...
keyword = "Suchbegriff"
...
Redim lookupKey(0)
lookupKey(0) = keyword
Set entryColl = lookupView.GetAllEntriesByKey(lookupKey)
...
--- Ende Code ---
Das Ganze ist eingebettet in ein größeres Script. Das KeyArray hat manchmal einen, manchmal zwei Keys, deswegen ist es ein dynamisches Array. GetAllEntriesByKey liefert 0 Treffer zurück, obwohl es mehrere 100 Treffer zurückliefern müsste. Das erstaunt mich.
Könnte es daran liegen, dass GetAllEntriesByKey nicht mit dynamischen Arrays arbeiten kann?
Viele Grüße
Harry
mahonri:
getAllEntriesByKey sucht den ersten Wert des Arrays in der ersten sortierten Spalte und den 2. in der zweiten sorteirten Spalte.
Wenn du also mit einem Dynamischen Array suchst, mußt du die Reihenfolge immer einhalten, und die Ansicht muß die entsprechenden sortierten Spalten haben.
HarryB:
Okay, für alle die es interessiert, ich habe des Rätsels Lösung (für mein Problem zumindest) gefunden:
In der entsprechenden Spalte wird ein Feld angezeigt, das nicht nur Mehrfachwerte enthält, sondern jeder einzelne dieser Mehrfachwerte besteht aus einem dreiteiligen String, dessen drei Teile durch "\" bzw. "\\" getrennt sind (Beispiel: "Fakultät\\Lehrstuhl\\Name"). Der dreiteilige String wird in dieser Form für eine hierarchische Anzeige innerhalb einer kategorisierten Ansicht benötigt.
Beispiel:
> Wirtschaftswissenschaften
> BWL
> Müller, Karl
Eintrag 1
Eintrag 2
Eintrag 3
> Schröder, Erich
Eintrag 1
Eintrag 2
> VWL
> Meier, Kurt
Eintrag 1
Eintrag 2
> Zahnmedizin
> KFO
> Schmitt, Andreas
Eintrag 1
Eintrag 2
Eintrag 3
usw.
Wenn jetzt Fakultät beispielsweise "Wirtschaftswissenschaften" ist und der Suchtext in getAllEnriesByKey ebenfalls "Wirtschaftswissenschaften", so ergibt die Funktion - aus welchem Grund auch immer - 0 Treffer. Ich habe in der entsprechenden Suchansicht - die für den Anwender unsichtbar ist und die entsprechende Spalte *nicht* als Kategorie angezeigt wird - die "\" bzw. "\\" aus dem Anzeigetext per @ReplaceSubstring durch "$" ersetzt. Jetzt findet getAllEntriesByKey korrekt alle Einträge.
@mahonri
Das ist/war soweit bereits gegeben. Vielen Dank trotzdem.
Viele Grüße
Harry
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln