Autor Thema: RSOD bei view.SelectionFormula  (Gelesen 3603 mal)

Offline sslneve

  • Frischling
  • *
  • Beiträge: 29
RSOD bei view.SelectionFormula
« am: 23.06.05 - 14:08:32 »
Guten Tag hochgeschätzte Notes-Gemeinde :)

Folgende Situation: Ich habe private Views (Shared, private after first use). Diesen will ich dynamisch halten und habe dafür eine Dialogbox mit einer Subform mit Auswahlkriterien. Beim Queryclose schreibt diese in die Selection Formula des Private Views. Das sollte ja eigentlich auch als Editor gehen. Nach der Dialogbox kommt ein View Rebuild. Der ist auch nicht das Problem. Es ist nachvollziehbar view.SelectionFormula, der mit Manager Rechten funktioniert, aber als Editor zum RSOD führt ("Leerer Objekt Handle"). Hiesse ja irgendwie entweder, daß er als Editor die SELECT Formel seines eigenen private Views nicht umschreiben darf oder doch eher daß er als Editor view nicht kennt ... warum auch immer.....

Schönen Dank im Voraus für jegliche Hilfe ...

Gruß
Markus

Offline Mandalor

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
Re: RSOD bei view.SelectionFormula
« Antwort #1 am: 23.06.05 - 14:12:15 »
Der Editor muss private Ansichten erstellen können, gib Ihm mal die Rechte und versiche es dann noch mal.
mit besten Grüßen

Markus Petzold

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: RSOD bei view.SelectionFormula
« Antwort #2 am: 23.06.05 - 14:15:09 »
Editoren dürfen glaube ich nur einfache Auswahlkriterien benutzen und keine Formeln.

Ist es nicht besser den privaten View zu löschen?. Beim nächsten Benutzen der Ansicht wird der private View wieder angelegt. Außerdem musst Du sonst für jede Änderung (Spaltenformeln usw) sonst immer einen neuen Agenten schreiben.
Gruß
Dirk

Offline sslneve

  • Frischling
  • *
  • Beiträge: 29
Re: RSOD bei view.SelectionFormula
« Antwort #3 am: 23.06.05 - 14:25:49 »
hmm, aber wie soll ich soll ich (selbst mit Löschen des views) die Sache dynamisch halten?

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: RSOD bei view.SelectionFormula
« Antwort #4 am: 23.06.05 - 14:58:41 »
Du hast doch Ansichten (Shared, private after first use). Hat ein User die Ansicht benutzt wird eine private Kopie der Ansicht erstellt. Im Designer kannst DU aber nicht den privaten sondern den gemeinsamen verändern. Damit der User die Änderungen bekommt muss er den privaten View löschen und beim Klick auf den Shared, private after first use wird wieder eine private Ansicht angelegt.
Gruß
Dirk

Offline sslneve

  • Frischling
  • *
  • Beiträge: 29
Re: RSOD bei view.SelectionFormula
« Antwort #5 am: 23.06.05 - 15:09:54 »
Ja, is klar. Nur bringt das nichts in Bezug auf das Thema "dynamischer View". Wie oben schon kurz erwähnt soll der User ja die Möglichkeit haben, sich per Selektion in einer vorgeschalteten Dialogbox mit Subform seinen View quasi selbst dynamisch zu bauen. Dazu muss er aber in der Lage sein, mit wenig Rechten die SELECT formula seines privaten Views umzubiegen.

Offline sslneve

  • Frischling
  • *
  • Beiträge: 29
Re: RSOD bei view.SelectionFormula
« Antwort #6 am: 23.06.05 - 17:07:29 »
Sorry wenn ich hier ein wenig meinen Frust ablasse, aber ich baue seit Tagen an etwas völlig Trivialem rum und dieses Sch.... Notes
weigert sich beharrlich, daß ich einer Lösung nahe komme.
Egal welche Klimmzüge ich noch versuche.

Ich will nur dem User eine individuelle Selektion der Dokumente erlauben. Nicht nur, daß ich da lustige private Views brauche, weil sonst jeder dem anderen reinpfuscht, nein, da muss ich auch noch programmtechnisch die Selektionsformel umbiegen. Das geht aber
leider nur per Agent, der dann "on behalf" hoffentlich die notwendigen
Rechte hat. Und funktionierts? Nein! "Leerer Objekt-Handle". Aber nur als
Editor. Als Manager gehts.

Ich muss mich gleich übergeben und sage nur: 1 Zeile SQL. Olé!
« Letzte Änderung: 23.06.05 - 17:09:04 von sslneve »

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: RSOD bei view.SelectionFormula
« Antwort #7 am: 23.06.05 - 17:13:31 »
Du hast erstens, die Möglichkeit mit @setviewinfo zu arbeiten.
Zweitens gibt es bei Wolfgang Flamme einen Artikel wie man die Volltextsuche zu genau diesem Zweck instrumentalisieren kann.
Drittens und das kann das !!Help!! Team dir aus eigener Erfahrung sagen ist es grundsätzlich keine gute Idee an der ViewSelection Formula zur Laufzeit rumzupfuschen.  >:D

Das Ganze geht dann vollkommen ohne private Views.
« Letzte Änderung: 23.06.05 - 17:33:11 von Thomas Schulte »
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Marinero Atlántico

  • Gast
Re: RSOD bei view.SelectionFormula
« Antwort #8 am: 23.06.05 - 17:31:39 »
Ich muss mich gleich übergeben und sage nur: 1 Zeile SQL. Olé!
I do second that.

Offline sslneve

  • Frischling
  • *
  • Beiträge: 29
Re: RSOD bei view.SelectionFormula
« Antwort #9 am: 23.06.05 - 17:38:34 »
Ok, Flamme erzählt was von WinAPI und Tastatursimulation (wo wir
wieder beim Thema Klimmzüge wären  :P) ... kann es sein, daß das
schon ein wenig alt ist und nun auch anders geht?

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: RSOD bei view.SelectionFormula
« Antwort #10 am: 23.06.05 - 17:58:03 »
Ok, Flamme erzählt was von WinAPI und Tastatursimulation (wo wir
wieder beim Thema Klimmzüge wären :P) ... kann es sein, daß das
schon ein wenig alt ist und nun auch anders geht?
Nein das ist a nicht so alt und b geht das immer noch so. Zumindest dann wenn du das zur Laufzeit sehen willst. Es gibt noch einen anderen Ansatz das quasi mit einer Kombination der Schlüsselbegriffe in der ersten Spalte eine Ansicht zu machen und dann eine embedded View mit einer entsprechenden Selektion zu nutzen aber das wird bei mehr als 4 Feldern die beliebig kombiniert werden dürfen ziemlich aufwendig.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: RSOD bei view.SelectionFormula
« Antwort #11 am: 23.06.05 - 19:52:26 »
Sorry wenn ich hier ein wenig meinen Frust ablasse, aber ich baue seit Tagen an etwas völlig Trivialem rum und dieses Sch.... Notes
weigert sich beharrlich, daß ich einer Lösung nahe komme.
Egal welche Klimmzüge ich noch versuche.

Notes kann von Haus aus keine dynamischen Ansichten wie du sie von relationalen DBs kennst. Von dieser Art Ansicht musst du dich in Notes verabschieden.

Ausnahme sind die eingebetteten Ansichten mit der Option "Einzelne Kategorie anzeigen", die Thomas schon angesprochen. Diese Ansichten kann man als "etwas dynamisch" ansehen.

Aus eigener Erfahrung kann ich sagen, das die Lösung mit einer Volltextsuche in Verbindung mit privaten Ordner (sie enthalten die Suchergebnisse) sauber funktioniert.

Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline sslneve

  • Frischling
  • *
  • Beiträge: 29
Re: RSOD bei view.SelectionFormula
« Antwort #12 am: 24.06.05 - 09:14:48 »
Hallo,

verabschiedet habe ich mich ja ... allerdings gibt es von IBM ein Paper, das das Verändern der SELECT formula per Code "anpreist", "um dem User mehr Möglichkeiten zu geben" (frei übersetzt). Ich habe inzwischen verschiedene Sachen probiert und nichts scheint wirklich gut zu funkionieren. Normale Views eh nicht, weil sie sich bei jedem Zugriff allen ersichtlich ändern würden. SPOFU Views wäre dann logisch, allerdings gibts da ja den erwähnten screen of death. Einzelne Kategorie bringt mir in diesem Fall nichts. FTsearch -> doccollection -> Folder hab ich gestern noch kurz hingebaut. Fragt sich, ob eher search oder ftsearch, wenn ich exakte Ergebnisse hinsichtlich bestimmter Spaltenwerte will ... eigentlich will ich sowas wie eine SELECT formula mit search oder ftsearch absetzen und damit exakte Ergebnisse. Wird das bei etwa 3000 docs noch performant? Gestern beim Ausprobieren hat das ewig gedauert ... kann aber auch sein, daß ich was falsch gemacht habe, zumal die Suchergebnisse überhaupt nicht dem entsprochen hatten, was ich haben wollte. Es kann auch sein, daß ich nen Index brauche, damit es einigermassen performt(?). Selbiges gilt vermutlich auch für die Lösung mit WinAPI und in die Search Bar reinschreiben, wobei ich mir vorstellen kann, daß das wesentlich schneller geht als PutAllinFolder.
Hier aber wieder die Frage, wie ich mit der Search Bar exakte Ergebnisse bekomme, also wie ich genau das Ergebnis eines SELECTS damit herkriege.

Besten Dank schnonmal für jegliche Idee!

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: RSOD bei view.SelectionFormula
« Antwort #13 am: 24.06.05 - 09:26:06 »
wenn Du einen SELECT nachbauen willst, ist es am einfachsten mit NotesDatabase.Search zu arbeiten.

Wenn Du die Select-Formel einer Ansicht änderst, muss der Ansichtsindex auch neu aufgebaut werden und Du wirst auch eine Ewigkeit warten müssen, bis Du ein Ergebnis hast.
Bei der Version mit dem in den Ordner kopieren kommt pi mal Daumen nur noch die Zeit hinzu um die Dokumente in den Ordner zu kopieren (NotesDocumentCollection.PutAllinFolder(...)).

Ein ftsearch dürfte schneller sein, aber dort kannst Du nicht einfach eine Formel übernehmen, sondern musst diese syntaktisch umsetzen.

*/edit
ftsearch ist von der Aktualität des FT-Indexes abhängig!
Gruß
Dirk

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: RSOD bei view.SelectionFormula
« Antwort #14 am: 24.06.05 - 09:30:59 »
Hi,

lege über deine Datenbank einen Volltextindex und dann kannst du über die Searchbar (über den Ansichten) sehr perfomant suchen. Klick auch mal auf "Mehr" da findest du noch mehrt Optionen mit denen du die Suche durchführen kannst.

Sonst bleibt dir nur die Möglichkeit einen Dialog zubasteln, in dem der User die Suchbedingungen auswählen kann. Auf Grund dieser Auswahlen baust du dann den Suchstring zusammen und führst einen FTSearch aus. Das Ergebnis schreibst du dann in einen persönlichen Ordner. Je nachdem wie du das anlegst, kann das eine sehr komfortable Lösung für den Anwender sein.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: RSOD bei view.SelectionFormula
« Antwort #15 am: 24.06.05 - 09:33:59 »
ich kann Axel nur Recht geben.

Bringe den Usern die FT-Suche bei und die können Ihr Wissen in allen FT-indizierten DBs anwenden.
Gruß
Dirk

Offline sslneve

  • Frischling
  • *
  • Beiträge: 29
Re: RSOD bei view.SelectionFormula
« Antwort #16 am: 24.06.05 - 09:42:59 »
Hallo,

bei den Varianten mit Views habe ich natürlich immer einen view.rebuild nachgesetzt ... das hat eigentlich sehr gut und schnell funktioniert. Nur gibts halt mit den Rechten Probleme .... die SPOFU View Lösung wäre mir noch am liebsten... aber wenn mit Folders nicht mehr viel Zeit dazukommt, wäre das schon ok. Allerdings verstehe ich nicht ganz, warum ich irgendwelchen Müll bekomme und ewig drauf warten muss, wenn ich z.B. folgendes absetze:

searchFormula$ = {Abteilung = "[BAC]"}   
Set collection = db.Search(searchFormula$, Nothing,0)
Call collection.PutAllInFolder( "Test")

... wobei Abteilung ein Feld meines Hauptformulars ist.
Das ganze steht momentan zum Ausprobieren im Queryopen des private Folders ... achja: So ein Suchformular habe ich schon. Momentan bastelt das
halt noch (aus früheren Ansätzen) eine SELECT formula zusammen ....
Search Bar schön und gut, aber ich brauche wirklich Ergebnisse à la Select * from table where Abteilung = "xxx" and (status = "2" or date>@today) ... und ich bezweifle, daß das mit der Search Bar hinzubekommen ist.

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: RSOD bei view.SelectionFormula
« Antwort #17 am: 24.06.05 - 09:56:37 »
Search Bar schön und gut, aber ich brauche wirklich Ergebnisse à la Select * from table where Abteilung = "xxx" and (status = "2" or date>@today) ... und ich bezweifle, daß das mit der Search Bar hinzubekommen ist.
Aber genau das bekommst du mit der FtSearch hin. Inklusive Wildcards und noch ein paar anderen Features.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline sslneve

  • Frischling
  • *
  • Beiträge: 29
Re: RSOD bei view.SelectionFormula
« Antwort #18 am: 24.06.05 - 10:01:19 »
und wie gebe ich an, daß er "2" nur im Status-Feld suchen soll? Bei wflamme steht was von [Feldname] = 2 beispielsweise ...  das hab ich mal in der Search Bar probiert und erreiche nicht das was ich will. Vielleicht stehe ich einfach aufm Schlauch ... Search Bar und FTsearch ist doch das gleiche, oder?

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: RSOD bei view.SelectionFormula
« Antwort #19 am: 24.06.05 - 10:02:45 »
Hi,

versuch's mal so:

searchFormula$ = {SELECT Abteilung = "[BAC]"}  
Set collection = db.Search(searchFormula$, Nothing,0)
Call collection.PutAllInFolder( "Test")

Natürlich wäre es ratsam, bevor du das Ergebnis in den Ordner schreibst, diesen auch zu leeren.

...aber ich brauche wirklich Ergebnisse à la Select * from table where Abteilung = "xxx" and (status = "2" or date>@today) ... und ich bezweifle, daß das mit der Search Bar hinzubekommen ist.

Warum?

Hast du dir mal unter "Mehr" die Bedingungsoptionen angeschaut. Damit kannst du individuell deine Suche zusammenbasteln und kannst sie sogar für eine spätere Verwendung abspeichern.

Ich hab mal wahllos in einer meiner DBs so eine Suche zusammengeklickt. Die Klammern und das OR habe ich anschließend manuell eingefügt.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz