Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Stefan734 am 21.09.05 - 18:34:25
-
Hallo Notes-Gurus,
ich habe Schwierigkeiten mit der Weiterverarbeitung der Felder Hits und TotalHits in meiner Suchausgabe. Beide sind zzt. berechnet zur Anzeige und Textfelder.
- Einfache Ausgabe OK
- IF-Abfrage liefert Fehlermeldung (egal ob Vergleich mit "1" oder 1:
Comparison operators must be supplied two values of the same data type.
- Rechungen wie Hits/10 liefern Fehlermeldung:
Funktion erwartet Text bzw. Zahl
Die erste Fehlermeldung spricht für eine besonderen Datentypen, doch habe ich viele Beispiel gefunden, wo genau die Rechnung 10/Hits offenbar funktioniert hat. ???
Bin völlig verzweifelt :-: und hoffe auf euch
Danke
Stefan
-
Hi Stefan,
schieb bitte noch ein paar Infos nach:
Wo wird der Wert weiterbenutzt? Oberhalb von Total Hits?
Wenn bekommst Du die Fehlermeldung? Beim Öffnen der Maske oder beim Ausführen einer Aktion?
Warum sind Deine Hits-Felder Textfelder?
Was willst Du damit später rechnen?
Gruß
Willi
-
Hallo Willi,
kurz vor Feierabend ist die Frage wohl etwas zu kurz ausgefallen.
Ich nutze Hits in einer $$SearchTemplate for (ansicht) auf welche ich mittels $Return die Suchanfrage umleite. Die Felder stehen alle am Anfang der Maske und werden auch prima gefüllt.
Weiter unten auf der Maske möchte ich ein Seitenblättern ala google einbauen. Formel und Anleitung habe ich auf codestore.net gefunden.
Selbst die einfachsten Sachen führen zu einer Fehlermeldung bei der Ausgabe der $$SearchTemplate... - Unabhängig davon, wie ich die Felder definiert habe (Zahl, text, zur Anzeige, Berechnet, Bearbeitbar...)
Ein Beispiel ist die Division der Hits durch die Counts. Wenn ich dann das Ergebnis in einer weitere Funktion nutze (z.B. Subset(...; Ergebnis), dann gibt es die Fehlermeldungen.
Eine Kombination sollte hier allerdings funktionieren. Insbesondere, wenn ich gezielt über @text / qtexttonumber konvertiere. In diesen Fällen ändert sich aber lediglich die Fehlermeldung in das Gegenteil.
Seufz
Stefan
-
Kleine konkrete Ergänzung...
Feldformel
@if(TotalHits > SearchMax; 100; TotalHits)
=> Anzeige erfolgt korrekt zB 29
_Hits := @if(TotalHits > SearchMax; 100; TotalHits);
_Hits/10
=> Keine Anzeige, sondern Fehlertext Number erwartet
_Hits := @if(TotalHits > SearchMax; 100; TotalHits);
_Hits/10
=> Keine Anzeige, sondern Fehlertext Text erwartet
Was denn nun (Text oder Number) ???
-
Hallo nochmal Stefan,
ich bin kein großer Web-Experte deshalb wäre es möglich das jemand anderes schneller und effektiver zur Lösung kommt.
Vielleicht mal ein paar Gedankenansätze:
-Es ist wichtig das Du den Track der Variable nicht verlierst. Wenn Du den Wert aus einem Textfeld holst solltest Du sicherstellen das in der Rechenoperation auch eine Zahl verwendet wird. (Wenn Du irgendwann Notes 6 oder 7 bekommst gibt es dort eine schicke variante mit @ToNumber)
-Hast Du daran gedacht auch den Fall abzufangen in dem nichts in deinem Feld steht?
-Sehe ich das Richtig, Du postest 2x den gleichen Code und erhälst unterschiedliche Fehlermeldungen. Hat sich was an den Eingangsdaten verändert?
Gruß
Willi
-
Hallo Willi,
meine Beispiele beziehen sich auf die Ausführungen in der Mail davor :o OK, ist nicht ganz schlüssig. Hier ein neuer Versuch
Hits ist ein Textfeld!
Hits/10
Fehlermeldung "Number erwartet" - richtig, da Textfeld
@texttonumber(Hits)/10
Fehlermeldung "Text erwartet" - Auf @TextToNumber bezogen sicher richtig, aber auf die Fehlermeldung davor ???
Gruß
Stefan
-
Das ist vielleicht so ähnlich wie special text.
Du kannst das eventuell mit JavaScript berechnen.
Versuche im onLoad Event mal sowas wie:
alert (document.forms[0].hitsFeld.value() / 10);
-
Gute Idee,
aber JS ist leider etwas spät und bei uns in der Firma nicht unbedingt aktiviert...
Ich werde jetzt zunächst auf das Blättern verzichten und noch etwas weiter schmökern.
Gruß
Stefan