Autor Thema: Aus einem UI-Document ein Variant auslesen  (Gelesen 2022 mal)

Offline Sabine

  • Aktives Mitglied
  • ***
  • Beiträge: 112
  • Geschlecht: Weiblich
Aus einem UI-Document ein Variant auslesen
« am: 24.01.06 - 11:37:12 »
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
« Letzte Änderung: 25.01.06 - 13:34:30 von Sabine »

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Aus einem UI-Document ein Variant auslesen
« Antwort #1 am: 24.01.06 - 11:42:38 »
Probier mal var = "uidoc.Document.GetItemValue("Itemname")"
« Letzte Änderung: 24.01.06 - 11:44:59 von ascabg »

Glombi

  • Gast
Re: Aus einem UI-Document ein Variant auslesen
« Antwort #2 am: 24.01.06 - 11:46:21 »
Den Feldtypen "Variant" gibt es nicht. Handelt es sich vielleicht um Mehrfachwerte? Oder Rich Text?´

Kannst Du mal den Code posten.

Andreas

Offline Sabine

  • Aktives Mitglied
  • ***
  • Beiträge: 112
  • Geschlecht: Weiblich
Re: Aus einem UI-Document ein Variant auslesen
« Antwort #3 am: 24.01.06 - 13:01:16 »
Das Feld ist ein Notes-Item, mit einem Value
  • 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
« Letzte Änderung: 24.01.06 - 13:30:03 von Sabine »

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Aus einem UI-Document ein Variant auslesen
« Antwort #4 am: 24.01.06 - 13:11:00 »
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.

Glombi

  • Gast
Re: Aus einem UI-Document ein Variant auslesen
« Antwort #5 am: 24.01.06 - 13:22:42 »
Ein Source.FieldGetText(...) geht aber eigentlich immer. Bekommst Du eine Fehlermeldung?

Andreas

Offline Sabine

  • Aktives Mitglied
  • ***
  • Beiträge: 112
  • Geschlecht: Weiblich
Re: Aus einem UI-Document ein Variant auslesen
« Antwort #6 am: 24.01.06 - 13:45:48 »
Bei diesem Script bleibt die variable aenderungsbrief leider leer:

Code
aenderungsbrief = Trim(Source.Document.GetItemValue("Änderungsbrief")(0))

Genauso wie bei FieldGetText...

eine Fehlermeldung bekomme ich nicht. Vielleicht habe ich noch einen anderen Fehler drinnen?
Aber das Feld Änderungsbrief ist gefüllt in der Souce.Document!

Offline Sabine

  • Aktives Mitglied
  • ***
  • Beiträge: 112
  • Geschlecht: Weiblich
Re: Aus einem UI-Document ein Variant auslesen
« Antwort #7 am: 24.01.06 - 14:00:50 »
Liegt es vielleicht an dem Feldnamen "Änderungsbrief" wegen dem 'Ä'?

Offline Sabine

  • Aktives Mitglied
  • ***
  • Beiträge: 112
  • Geschlecht: Weiblich
Re: Aus einem UI-Document ein Variant auslesen
« Antwort #8 am: 24.01.06 - 14:06:54 »
Nun hat es funktioniert! Ich weiß nicht warum vorher nicht, vielleicht war noch irgendetwas im Cache.

Ich danke Euch! Und das Ä spielt keine Rolle  :)

Offline Sabine

  • Aktives Mitglied
  • ***
  • Beiträge: 112
  • Geschlecht: Weiblich
Re: Aus einem UI-Document ein Variant auslesen
« Antwort #9 am: 24.01.06 - 14:07:55 »
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


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz