Domino 9 und frühere Versionen > Entwicklung

Radiobutton Feld mit numerischem Wert per LS abfragen

<< < (2/5) > >>

MadMetzger:
Kann es vielleicht an den Leerzeichen neben dem Pipe-Symbol liegen? Ich habe das eben noch mal ausprobiert, und es funktioniert genauso. Egal ob mit oder ohne Leerzeichen.

Auf jeden Fall speichert er von der Zahl auch nur einen String ab, den du mit Cint () aber umwandeln kannst.

Axel:
Hi,

ich glaube da fehlt das Verständnis für Frontend und Backend und Aliase.

Wenn du mit Frontend-Methoden (NotesUIDocument.FieldGetText usw.) auf das Feld zugreifst bekommst du immer den Wert, der der User in der Maske sieht, also den, links vom | - Zeichen. Mit Backend-Methoden (NotesDocument.GetItemValue usw.) bekommst du immer den Alias-Wert, also den Wert rechts vom |. In der Ansicht siehst du immer den eigentlichen Feldinhalt und das ist der Aliaswert.

Wenn du die Wert als Zahl brauchst, musst du den Feldwert mit Val() in eine Zahl umwandeln.

Bsp.:
Zahl = Val(doc.Feld(0))

Um in der Ansicht den Text darzustellen, wende ich bei solchen Feldern folgenden Trick an:
Im QuerySave-Event lese ich mit der Frontend-Methode GetFieldText den Wert aus und schreibe ihn in ein verstecktes Textfeld. Das nehme ich dann für die Ansicht.

Axel

  

immanuel:
Hi!

Danke!

Ich habe folgendes versucht, komme aber nicht weiter:
   Dim ws As New NotesUIWorkspace
   Dim NotesDoc As NotesDocument
   Set NotesDoc = ws.CurrentDocument.Document
   
   ratingValue= Cint(NotesDoc.GetItemValue("iq_RateIT"))

Fehler: Type mismatch

Ich bin in den LS Objekten nicht sehr versiert und habe nicht den Durchblick. Wie muss ich das oben schreiben, damit es funktioniert? Ich möchte nur den Wert (ein Integer) des Feldes iq_RateIT in der Maske haben...

Grüsse und Danke!
Manuel

koehlerbv:
Dann ist es besonders angebracht, sich die DesignerHelp vor Verwendung einer Klasse oder Methode gründlichst 'reinzuziehen.

NotesDocument.GetItemValue liefert ein Array zurück. Ergo muss Deine Zeile heissen:
ratingValue= Cint(NotesDoc.GetItemValue("iq_RateIT") (0))
oder einfacher
ratingValue = Cint (NotesDoc.iq_RateIT (0)

Ausserdem ist ratingValue offensichtlich nicht deklariert.

Bevor Du ein neues LS-Modul beginnst, tippe als erstes immer in die Options-Section: Option Declare. Spart 'ne Menge Ärger !

HTH,
Bernhard

immanuel:
Hi Bernhard!

Vielen Dank, jetzt klappts!
Hab einiges dazugelernt...

Grüsse aus Zürich
Manuel

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln