Domino 9 und frühere Versionen > ND7: Entwicklung

Lotus Notes Script

(1/2) > >>

kruemelmaus:
Hallo,

ich bin gerade neu hier.

Habe auch somit meine erste Frage an die vielen Experten.  :D

Es wurde eine Datenbank erstellt, mit der eine Emailsignatur erzeugt werden kann.

Nun zu meinem Problem:

In der Notesform gibt es ein Feld fb_funk1 welches mit Hilfe eines dblookup Daten aus einem Konfigurationsdokument ausliest.
Hier ist dann eine Mehrfachauswahl möglich.

Mit Hilfe des unten stehenden Skriptteils wird das ganze in eine HTML Datei geschrieben.

Das Problem ist nun, sobald mehrere Werte ausgewählt wurden erscheinen diese zwar in der Notesansicht, aber im Exportfile
steht immer nur der erste Wert drin.

Wer kann mir helfen???

'Jobtitle  1
       
        If  Not Len( uidoc.document.fb_funk1(0)) < 1Then
                Print #sig_file, uidoc.document.fb_funk1(0)
        Else
        End If

Gruß
Oliver

BigWim:
Hallo Oliver,

das Item in NotesDocument ist immer ein Array mit mindestens einem Eintrag. Das Array erhält Du mit


--- Code: ---tmpVariant = uidoc.document.fb_funk1

--- Ende Code ---

wenn sicher ist, dass nur Wert vorhanden sein kann, greift man in der Regel direkt zu mit


--- Code: ---tmpString = uidoc.document.fb_funk1(0)

--- Ende Code ---


Wenn Du also alle Werte eines Item ausgeben möchtest, mußt Du Dir eine Schleife basteln, z. B. so


--- Code: ---        If  Not Len( uidoc.document.fb_funk1(0)) < 1Then
                forall tmpString in uidoc.document.fb_funk1
                        Print #sig_file, tmpString
                next
        endif

--- Ende Code ---


Viel Erfolg
Markus

flaite:
Ist weil du das erste Element im Array schon in deinem Code referenziert.

Ich hab das hinter einen Button getan. Falls du es im QuerySave o.ä. hast, kannst du das mit dem uiws weglassen.
Vorschlag:


--- Code: ---Sub Click(Source As Button)
On Error Goto Felher
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument


Dim doc As NotesDocument
Dim i As Integer
Dim first As Integer
Dim arrStrFb_Funk1 As Variant
Dim strValue As String
Const separator = ","

Set uidoc = uiws.CurrentDocument
Set doc = uidoc.Document

arrStrFb_Funk1 = doc.GetItemValue("fb_Funk1") ' doc.fbFunkt1  -> ohne (0) geht auch. Das ist aber besser, weil parametrisierbar
For i = 0 To Ubound (arrStrFb_Funk1)
strValue = Trim$(arrStrFb_Funk1(i)) ' trim entfernt leerzeichen vorne wie hinten. Macht oft Sinn. Kommt aber auf dein Prog drauf an.
If Len(Trim$(strValue)) > 0 Then
If first Then
strValue = separator + strValue
first = False
End If
Msgbox strValue ' erstmal gucken.
'Print #sig_file, strValue ' WENN OK, DANN AUSKOMMENTIEREN
End If
Next
wech:
Exit Sub
felher:
Msgbox Error$ & Cstr(Err) & " in Zeile: " & Cstr(Erl)
Goto wech

End Sub

--- Ende Code ---

kruemelmaus:
Hallo Markus,

vielen Dank erstmal. Leider habe ich scheinbar immer noch ein kleines Problem.

1. wo packe ich den Code tmpString = uidoc.document.fb_funk1(0)
hin???

2.  If  Not Len( uidoc.document.fb_funk1(0)) < 1Then
                forall tmpString in uidoc.document.fb_funk1
                        Print #sig_file, tmpString
                next
        endif

bekomme ich hier bei immer eine Fehlermeldung: unexpected next


Fehlt hier nicht auch noch das else in der formel.


Sorry bin leider nur ein Anfäger, der sich gerade versucht einzuarbeiten


Gruß Oliver

DerAndre:
Mach mal aus dem

Next

ein

End Forall

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln