Autor Thema: Kombinationsfeld per script füllen  (Gelesen 1887 mal)

Offline paul_k

  • Frischling
  • *
  • Beiträge: 1
Kombinationsfeld per script füllen
« am: 15.02.07 - 13:02:53 »
Ich habe eine Maske mit 4 Kombinationsfeldern. Diese Felder werden auf unterschiedliche Art gefüllt.

Problem: Ich möchte das Kombifeld nicht per Formel füllen, da die Werte aus einer DB 2 kommen und ich
nicht Temp-Dokumente anlegen möchte, die ich dann in einem View virtuell anzeige um sie dann von der
Formel in das Kombifeld zu übertragen.
Das Ergebnis der Maske wird auch nicht als Dokument abgelegt, sonder in DB 2 Tabellen gespeichert.


1. ) Formel   - funktioniert

@DbColumn("";"";"RECRM_TYRE_003_TRA";2)

Ergebnis: 19 Einträge          kein  DefaultEintrag

Felder 2,3 und 4 werden über lotusscript ( OnLoad ) versorgt.

Feld 2   
( Name = TRA_CODE )
wird mit            document.replaceitemvalue("tra_code",arr)
der Array direkt in das Kombinationsfeld geschrieben.

Ergebnis: 1 Eintrag              DefaultEintrag ist dieser 1 Eintrag

Feld 3 
( Name = TRA_SCRIPT, dark-Feld = T_SCRIPT )

wird mit   source.document.replaceitemvalue("t_script",arr)
der Array in das Darkfeld geschrieben und das Kombifeld sollte eigentlich über den Eintrag      T_script  in der Auswahlformel
die Werte übernehmen.

Ergebnis:  kein Eintrag

Feld 4 
( Name = TRA_code2, dark-Feld = T_SCRIPT2 )

wird mit   source.document.replaceitemvalue("t_script2",s_f)
der String in das Darkfeld geschrieben und das Kombifeld sollte eigentlich über den Eintrag      T_script2  in der Auswahlformel
die Werte übernehmen.

Der Inhalt von Feld 2 sieht folgendermaßen aus:
"|Wert1|Wert2|Wert3"

Ergebnis:  kein Eintrag


Jetzt noch der Source-Code von OnLoad:

Sub Onload(Source As Notesuidocument)
   If source.EditMode = True Then
      Dim s As New NotesSession
      Dim db As Notesdatabase
      Dim view As NotesView
      Dim Doc As NotesUIDocument
      Dim KeyDoc As NotesDocument
      Dim Feld As NotesItem
      Dim arr() As String
      Dim z As Integer
      Dim s_f As String
      
      Set db = s.CurrentDatabase
      Set view = db.GetView("RECRM_TYRE_003_TRA")
      
      Set keydoc = view.GetFirstDocument
      'Set doc = source.document
'
'Feld2 
'direkt in das Kombinationsfeld
'  Ergebins: 1 Eintrag DefaultEintrag ja      
'      
      Set feld = New notesitem(source.document,"tra_script"," ")
      
      Redim arr(view.AllEntries.count) As String
      For i = 1 To view.AllEntries.Count
         z = i - 1
         arr(z)= Keydoc.ColumnValues(1)
         Set keydoc = view.GetNextDocument(keydoc)
      Next i
      
      Set feld = source.document.replaceitemvalue("tra_script",arr)
      
'Feld3      
' Über verstecktes feld      
' Ergebnis kein Eintrag      
' im versteckten Feld sind alle Einträge vorhanden
'            
      Set keydoc = view.GetFirstDocument
      'Set doc = source.document
      
      Set feld = New notesitem(source.document,"t_script"," ")
      
      Redim arr(view.AllEntries.count) As String
      For i = 1 To view.AllEntries.Count
         z = i - 1
         arr(z)= Keydoc.ColumnValues(1)
         Set keydoc = view.GetNextDocument(keydoc)
      Next i
      
      Set feld = source.document.replaceitemvalue("t_script",arr)
      
      
'Feld4
'
'  Über verstecktes Feld 2. Versuch
'  Ergebnis kein Eintrag im Kombinationsfeld
' im versteckten Feld sind alle Einträge vorhanden
'      
      S_F = "|"
      Set keydoc = view.GetFirstDocument      
      Set view = db.GetView("RECRM_TYRE_003_TRA")
      For i = 1 To view.AllEntries.Count
         z = i - 1
         s_f = s_f  & "||" & Keydoc.ColumnValues(1)
         Set keydoc = view.GetNextDocument(keydoc)
      Next i
      
      Set feld = New notesitem(source.document,"t_script2"," ")
      Set feld = source.document.replaceitemvalue("t_script2",s_f)
      
      
   '   ListeGefüllt = True
   End If
End Sub





Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Kombinationsfeld per script füllen
« Antwort #1 am: 15.02.07 - 13:07:02 »
Das Thema wird bereits im Dominoforum diskutiert.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz