Autor Thema: NotesDatabase.Search(SearchString) - er will nicht wie er soll  (Gelesen 14126 mal)

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Moin Moin,

Hab ein Problem mit meinem SearchString den ich einfach nicht dazu krieg das zu tun was ich will. Ich überseh wohl einfach was... wies hald immer is wenn man zu lang davor sitzt. Vielleicht könnt ihr mir helfen oder seht einen Fehler:

Code
Dim dateTime As New NotesDateTime( "Today" )
Call dateTime.AdjustMonth( -2 )

searchString = {Form = "Positionen"&Bestellsumme = 0& (ZwfStepName = "KantineNeu" | ZwfStepName = "KantineAng") & @TextToTime(datum1) <= dateTime.LocalTime}	

Also:
Maskename = Positionen (String)
Bestellsumme = 0 (Integer)
ZwfStepname = KantineNeu | KantineAng (String)

und wohl der Knackpunkt:
datum1 (String) <= Heute - 2 Monate

Ich tippe mal die @Formel klappt da nicht in dem SearchString oder?

Danke für die Hilfe!
Mathias
« Letzte Änderung: 03.07.09 - 08:34:05 von DaHias »

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Hallo,

Versuch mal diese Schreibweise.

Code
{Form = "Positionen & Bestellmenge = 0 & (ZwfStepName = "KantineNeu" : "KantineAng") & @TextToTime(} & datum1 & {) <= } & dateTime.LocalTime

Andreas

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Hi,

Danke, aber ich glaub das klappt so nicht, weil das "datum1" keine definierte Variable ist, sondern ein Feld in den Dokumenten. Ich krieg hald die Fehlermeldung "Variable not declared".

Mathias

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Ok. Diese Info hatte ich nicht.
Dann versuch es eben mal so.

Code
{Form = "Positionen & Bestellmenge = 0 & (ZwfStepName = "KantineNeu" : "KantineAng") & @TextToTime(datum1) <= } & dateTime.LocalTime

Andreas

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Danke nochmals :)

Hab ich grad ausprobiert, krieg aber die Fehlermeldung:

Notes-Fehler: Formelfehler (Form = "Positionen" & Bestellmenge = 0 & (ZwfStepName = "KantineNeu" : "KantineAng") & @TextToTime(datum1) <= 03.05.2009")

Also er setzt jetzt immerhin das Datum hinten um, aber er scheint an dem @TextToTime zu scheitern?

Mathias

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Schreibfehler beim Post oder ist dieses hier so in der Formel:

@TextToTime(datum1) <= 03.05.2009")

Man beachte die Anfuehrungszeichen


Andreas

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Hi,

Das war lediglich ein Schreibfehler. Also die Fehlermeldung lautet schon:

Notes-Fehler: Formelfehler (Form = "Positionen" & Bestellmenge = 0 & (ZwfStepName = "KantineNeu" : "KantineAng") & @TextToTime(datum1) <= 03.05.2009)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Ich entdecke da auf Anhieb zwei Fehler:

ZwfStepName *= "KantineNeu" : "KantineAng"

@TextToTime(datum1) <= @TextToTime ("03.05.2009")
oder
@TextToTime(datum1) <= @Date (2009; 5; 3)

Ist datum1 überhaupt Text? Das wäre vermutlich "pfui" - man sollte immer den passenden Datentyp zum Speichern verwenden.

Bernhard

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Hi Bernhard,

was genau meinst du mit *=?

datum1 ist leider immer Text da es bei der Erstellung des Antwortdokuments per "SetText" generiert wird. Hässlich - will ich auch ändern, aber vorher brauche ich diese Suche, um abgeschlossene Dokumente zu finden.

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
was genau meinst du mit *=?
such in der Online Hilfe nach Operations on Lists, da ist das erklärt.
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

Glombi

  • Gast
Re: NotesDatabase.Search(SearchString) - er will nicht wie er soll
« Antwort #10 am: 10.07.09 - 13:45:15 »
Was ist denn der Unterschied zwischen
ZwfStepName *= "KantineNeu" : "KantineAng"
und
ZwfStepName = "KantineNeu" : "KantineAng"
wenn ZwfStepName keine Mehrfachwerte hat?

Andreas

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Re: NotesDatabase.Search(SearchString) - er will nicht wie er soll
« Antwort #11 am: 10.07.09 - 13:55:46 »
Also ZwfStepName ist lediglich ein String.

@Thomas: Danke jetzt hab ich das zumindest verstanden ^^

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: NotesDatabase.Search(SearchString) - er will nicht wie er soll
« Antwort #12 am: 10.07.09 - 13:58:36 »
Andreas, Deine Frage verstehe ich nicht so ganz: Der Unterschied ist doch gewaltig - gerade im Fall "skalarer Wert".

Bernhard

Glombi

  • Gast
Re: NotesDatabase.Search(SearchString) - er will nicht wie er soll
« Antwort #13 am: 10.07.09 - 15:02:05 »
Andreas, Deine Frage verstehe ich nicht so ganz: Der Unterschied ist doch gewaltig - gerade im Fall "skalarer Wert".

Bernhard
Was ist denn der Unterschied? Momentan stehe ich etwas auf dem Schlauch...

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: NotesDatabase.Search(SearchString) - er will nicht wie er soll
« Antwort #14 am: 10.07.09 - 15:36:05 »
Ich hoffe, ich bin nicht derjenige, der auf dem Schlauch steht nach über 20.000 Metern hoch und runter in den Alpen in der letzten Woche  ;)

Die Vorgabe war
ZwfStepname = KantineNeu | KantineAng (String)

ZwfStepName = "KantineNeu" : "KantineAng"
bringt da niemals ein Ergebnis - skalarer Wert verglichen mit einem Array ...

ZwfStepName *= "KantineNeu" : "KantineAng"
bedeutet: Ein Treffer reicht.  Die Kombination von ZwfStepName mit einem Array ergibt "wahr", sowie einer der (x) Arraywerte im Gegenstück (egal, ob skalar oder Array) vorkommt.

Bernhard

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: NotesDatabase.Search(SearchString) - er will nicht wie er soll
« Antwort #15 am: 10.07.09 - 15:49:09 »
@Bernhard

Jetzt muss ich doch auch noch eine kleine Frage hierzu stellen.

Warum funktioniert dann aber

SELECT Form = "Test" : "Test1"

als Selektionsformel fuer eine Ansicht?


Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: NotesDatabase.Search(SearchString) - er will nicht wie er soll
« Antwort #16 am: 10.07.09 - 16:01:05 »
Unter welchen Versionen hast Du das ausprobiert, Andreas? Funktioniert das überall?
Weil: Syntaktisch ist das falsch (und von der Schreibweise auch unsinnig).

Bernhard

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: NotesDatabase.Search(SearchString) - er will nicht wie er soll
« Antwort #17 am: 10.07.09 - 16:04:05 »
Eigentlich schon seit Version 5 und bis heute.

Und ehrlich es hat noch nie ein Problem gegeben, dass Dokumente angezeigt wurden die hier nicht angezeigt werden durften bzw. dass Dokumente die haetten angezeigt werden sollen nicht angezeigt wurden.


Andreas

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 249
  • Geschlecht: Männlich
Re: NotesDatabase.Search(SearchString) - er will nicht wie er soll
« Antwort #18 am: 10.07.09 - 16:36:36 »
Ich arbeite immer so, wenn ich prüfe, ob ein Element in einer Liste vorkommt.

Und das ist weder syntaktisch falsch noch unsinnig, denn der skalare Wert wird als Liste mit 1 Element interpretiert, bei dem laut Doku das letzte (einzige) Element so oft "aufgefüllt" wird, bis beide Listen gleich viele Elemente haben.

*= wird erst beim Vergleich von 2 Listen mit jeweils mehr als 1 Element interessant.


Schönes Wochenende!
-Werner

Glombi

  • Gast
Re: NotesDatabase.Search(SearchString) - er will nicht wie er soll
« Antwort #19 am: 10.07.09 - 21:39:32 »
Das ist genau meine Erfahrung. Wenn das eine nur ein skalarer Wert ist, dann ist es wurscht, ob mit = oder *= verglichen wird. Das mache ich nun seit 16 Jahren so.

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz