Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Andreas Huhn am 07.12.05 - 08:03:24
-
Hallo,
in den meisten Basic-Dialekten ist das ja nicht möglich, aber für LS will ich doch mal nachfragen da es meiner db hunderte Seiten Code ersparen würde...
Ist es möglich einen Teil eines Feldnamens variabel zu übergeben?
Beispiel: Zwei Textfelder, txtFeld1 und txtFeld2
Folgendes funktioniert nicht, verdeutlicht aber was ich meine:
For i = 1 To 2
Msgbox doc.txtFeld(0) & i
Next
Gibts dafür in LS eine Möglichkeit?
Gruß,
Andreas
-
Gibts dafür in LS eine Möglichkeit?
Aber sicher doch.
Des Rätsels Lösung heißt: notesDocument.GetItemValue( itemName$ )
For i = 1 To 2
Msgbox doc.GetItemValue("txtFeld" & Trim$(Str$(i)))(0)
Next
Axel
-
Guten Morgen Axel,
leider kommen da nur leere Messageboxen, ohne den Inhalt der Felder zurücktzliefern.
Msgbox doc.tr1(0) liefert mir dagegen den Inhalt.
Auch wenn ich das doc zuerst speichere gehts nicht.
-
Wie sieht denn dein Code aus? Hast du die richtigen Feldnamen genommen?
Axel
-
... mir hat der Kaffe gefehlt der mir die Augen weit genug öffnet...
war mein Fehler.
Danke Axel!
Viele Grüße,
Andreas
-
zu früh gefreut...
in dem Fall daß der Inhalt des Feldes gebraucht wird hats funktioniert. Aber wie kann man den Bezug allgemein auf das Feld setzen?
doc.GetFirstItem( "txtFeld1" )
-->
Set rtitem = doc.GetFirstItem( doc.txtFeld & Trim$(Str$(i)) )
hätte nach einer .GetItem Methode von doc gesucht, aber die gibt es leider nicht. Gibts auch da eine Möglichkeit?
-
Hallo Andreas,
das ist doch die Methode die Du suchst.
Und weiter machst Du mit der Item- oder Richtextitem-Klasse.
Ich sehe da keine Probleme.
Kjeld
-
Hallo Gossifu,
aber die Zeile löst einen "Type Missmatch" aus.
Set rtitem = doc.GetFirstItem( doc.txtFeld & Trim$(Str$(i)) )
txtFeld ist jetzt natürlich ein RichTextFeld wie das rtitem schon vermuten lässt.
-
Hi,
es muss
Set rtitem = doc.GetFirstItem( "txtFeld" & Trim$(Str$(i)) )
heißen.
-
Danke rar, das hat funktioniert. Auch wenn mir nicht so klar ist warum auf das übergeordnete doc. jetzt plötzlich verzichtet werden kann. Wenigstens gehts jetzt. Danke!
Gruß,
Andreas
-
Les dir dazu doch einfach mal die Online Hilfe zu dem Befehl doc.getfirstitem durch und dann überlegt dir mal warum das nicht funktionieren kann wenn du in diesem Parameter ein referenziertes Feld drin hast.
-
hmm.. ich denke ich weiß was du meinst. Weil als Parameter ein String und nicht ein Object erwartet wird.