Domino 9 und frühere Versionen > ND6: Entwicklung
Aus einem UI-Document ein Variant auslesen
Sabine:
Hallo,
ich habe da mal wieder ein kleines Problem.
Ich möchte im Querysave-Event einer Maske einen Feldwert aus einem UI-Document auslesen, allerdings ist dieses Feld vom Typ Variant. Demnach geht FieldGetText leider nicht! Kann mir jemand einen Tip geben wie ich daran komme!
Danke Euch allen
Gruß Sabine
ascabg:
Probier mal var = "uidoc.Document.GetItemValue("Itemname")"
Glombi:
Den Feldtypen "Variant" gibt es nicht. Handelt es sich vielleicht um Mehrfachwerte? Oder Rich Text?´
Kannst Du mal den Code posten.
Andreas
Sabine:
Das Feld ist ein Notes-Item, mit einem Value [0] vom Typ Variant - String. Weiß nicht, ob ich das wirklich gut beschrieben habe, hoffe aber das es eingermaßen verständlich ist.
Der andere Code mit uidoc.Document.GetItemValue klappt leider nicht :-(
Aber hier nochmal das Script:
--- Code: --- Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As Notesview
Dim collection As NotesDocumentCollection
Dim dateTime As New NotesDateTime( "03/14/95" )
Dim aenderungsbrief As String
Dim bereich As String
Dim form As String
Dim user As String
Dim hilf As String
'Dim uidoc As NotesUIDocument
Set db = session.CurrentDatabase
'Set uidoc = workspace.CurrentDocument
'Werte aus aktuellem Dok auslesen
Dim ab As String
'Call source.FieldSetText ( "ab", "Änderungsbrief" )
'ab =source.FieldGetText("ab")
aenderungsbrief =source.FieldGetText("Änderungsbrief")
aenderungsbrief1 = Mid(aenderungsbrief,4,4) '12 1239-99 009
bereich =source.FieldGetText("Bereich")
user =source.FieldGetText("aktueller_Benutzer")
abversion =source.FieldGetText("ABVersion")
user1 = Strright(user,"ABC")
Call Source.Refresh
'Zugriff auf's Profildokument
Dim pdoc As NotesDocument
Set pdoc = db.GetProfileDocument("DBProfile")
settest = pdoc.GetItemValue( "SetupTestversion" )
Call Source.Refresh
'searchFormula$ = "Bereich = ""Beanstandungen"" & @left(LfdNummer;2) = """ & user1 & """ & @middle(LfdNummer;3;4) = """& settest(0) &""""
searchFormula$ = "Bereich = ""Beanstandungen"" & @left(LfdNummer;2) = """ & user1 & """ & @middle(LfdNummer;3;4) = """& aenderungsbrief1 &""""
Call Source.Refresh
If source.IsNewDoc Then
Set collection = db.Search(searchFormula$, dateTime,0)
hilf = ""
If collection.Count < 9 Then
hilf = "00"
End If
If collection.Count > 8 Then
If collection.Count < 99 Then
hilf = "0"
End If
End If
'Call source.FieldSetText ( "LfdNummer", user1 & " " & settest(0) & " " & hilf & Cstr(collection.Count + 1))
Call source.FieldSetText ( "LfdNummer", user1 & " " & aenderungsbrief1 & "-" & abversion & " " & hilf & Cstr(collection.Count + 1))
End If
End Sub
--- Ende Code ---
ascabg:
Heisst also, es ist kein Feld mit Mehrfachwerten !
Wenn dem so ist, und das Feld um welches es geht das Feld "Bereich" ist, so koennte der Code zum Auslesen des Wertes aus díesem Feld folgendermassen lauten.
Dim sBereich as String
sBereich = Trim(Source.Document.GetItemValue("Bereich")(0))
Wird von mir staendig ohne Fehler und Komplikationen verwendet.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln