Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: MisterDa am 22.04.03 - 14:47:32

Titel: Per GetAllDocumentsByKey komplette Spalte auswählen
Beitrag von: MisterDa am 22.04.03 - 14:47:32
Hi!

ich hab mal wieder ne Frage und zwar:

Gibt es sowas wie den * in ner SQL-Select-Formel,als Schlüssel in der GetAllDocumentsByKey Methode,  der mir alle Werte einer Spalte zurückgibt? Also z.b. als Key-Array (*, "schlüssel1", "Schlüssel2")

Hintergrund: ich habe eine dynamische Auswahl an Schlüsseln (insgesamt 7 Schlüssel). Wenn jetzt ein Schlüssel nicht angegeben wird, soll Notes einfach alles aus der betreffeneden Spalte auswählen, um dann mit den angegebenen Schlüsseln die Auswahl weiter zu verfeinern. Ich will verhindern, für jede Schlüsselkombination eine extra Ansicht erstellen zu müssen...da das bei 7 Schlüsseln doch relativ viele sind... 7! (fakultät  :) )wenn ich mich nicht täusche.. :o

Gruß
MisterDa

Titel: Re:Per GetAllDocumentsByKey komplette Spalte auswählen
Beitrag von: ghost am 22.04.03 - 16:51:56
Ich weiss nicht, ob ich die Anforderung richtig verstanden habe. Alle Man kann sich eine solche Funktion z.B. über die AllEntries Property der NotesView Klasse nachbilden. Oder durch die Ansicht mit den Methoden GetFirstDocument, GetNextDocument laufen. Oder in der ersten Spalte einen festen Wert einbauen und den als Schlüssel verwenden.
Titel: Re:Per GetAllDocumentsByKey komplette Spalte auswählen
Beitrag von: ata am 22.04.03 - 16:58:00
... wenn ich das richtig verstanden habe, dann geht das auf die Weise nicht. Du versuchst einen Zugriff und möchtest einzelne Spalten überspringen (keine Kategorie bestimmen) -  Mir fällt dazu nur ein db.Search mit einer dynamischen Suchformel ein...

ata
Titel: Re:Per GetAllDocumentsByKey komplette Spalte auswählen
Beitrag von: MisterDa am 23.04.03 - 07:32:39
jo, danke erstmal ihr beiden. So wie du das verstanden hast stimmts ata..gibt also nix vergleichbares wie den * ?.. :(

MisterDa
Titel: Re:Per GetAllDocumentsByKey komplette Spalte auswählen
Beitrag von: MisterDa am 23.04.03 - 12:05:29
so, also es klappt ganz gut mit dem db.search..hoffentlich geht die performance nich in die Knie, wenn die Datenbank wächst...(er durchsucht doch da alle Dokumente oder?)

Wen es interessiert hier der Code für die dynamische Suchstringerstellung (hoffe ich blamiere mich nicht  ;) ):

Function Kundenauswahl (kundenname As String, straße As String, postleitzahl As String, stadt As String, ansprechpartner As String, land As String) As String
   
   searchFormula$ = "Form = ""KundendatenErfassung"" "
   
   If Not kundenname="" Then
      searchFormula$=searchFormula$ & " & KDKundename =  " &Chr(34) &kundenname &Chr(34)
   End If
   
   If Not straße="" Then
      searchFormula$=searchFormula$ & " & KDStraße =  " &Chr(34) &straße &Chr(34)
   End If
   
   If Not postleitzahl="" Then
      searchFormula$=searchFormula$ & " & KDPostleitzahl =  " &Chr(34) &postleitzahl &Chr(34)
   End If
   
   If Not stadt="" Then
      searchFormula$=searchFormula$ & " & KDOrt =  " &Chr(34) &stadt &Chr(34)
   End If
   
   If Not ansprechpartner="" Then
      searchFormula$=searchFormula$ & " & KDAnprechparnter =  " &Chr(34) &ansprechpartner &Chr(34)
   End If
   
   If Not land="" Then
      searchFormula$=searchFormula$ & " & KDLand =  " &Chr(34) &land &Chr(34)
   End If
   
   Kundenauswahl = searchFormula$
   
End Function

Gruß

MisterDa

PS: falls einer noch Anregungen hat, kann er die gerne hier zum Besten geben  ;D
Titel: Re:Per GetAllDocumentsByKey komplette Spalte auswählen
Beitrag von: ata am 23.04.03 - 13:20:40
... das mit der Performance bei wachsender Datenbank hast du richtig erkannt. Das lässt sich zwar beschleunigen, wenn du einen Volltextindex von der DB machst, aber auch der Volltextindex braucht seinen Platz und muß aktuell gehalten werden...

ata
Titel: Re:Per GetAllDocumentsByKey komplette Spalte auswählen
Beitrag von: MisterDa am 23.04.03 - 13:32:05
Naja, aber solange es eben keine sinnvolle Alternative gibt, bleibt mir wohl nichts anderes übrig, als db.Search zu nehmen..ob die zig einzelnen Ansichten da performanter wären als db.Search ist eine Sache, der Pflegeaufwand bei neu hinzukommenden Kriterien eine andere.....

MisterDa
Titel: Re:Per GetAllDocumentsByKey komplette Spalte auswählen
Beitrag von: ata am 23.04.03 - 14:52:16
... dann hast du pro Ansicht auch noch einen Index, der die DB anschwellen lässt...

ata