How to load combobox with a field from a Profile Doc?

I have a profile DOc that contains a text field allowing multiple entries, which are district codes ( 3 characters each).

I hae a data entry screen , and I want to use a combobox, so the user can choose the district code from the list in the Profile Doc.

I would like to know to do this ?

I have tried the following in the postopen ( creating a copy of the field in the data entry Form )

All items are declared in the Form globally.

Sub Postopen(Source As Notesuidocument)
      ' Prepare list in a field for District Lokkup
      Dim cnt1 As Integer
      Set S= New NotesSession
      Set CurDb = S.CurrentDatabase
      Set prfDoc = CurDb.getProfileDocument("DL_Prof")  
      Set SRdoc=source.Document      
      
      'DLItems is now a hidden field, use it
      
      Set DLitem = prfdoc.GetFirstItem("DL_DC_Field")
      ' DL_DC_Field
      cnt1=1
      ' Dim DistList As String
      Call  SRdoc.CopyItem( DLitem, "DLItems" )
      
'      Forall itemValue In DLitem.Values
'            cnt1=      cnt1+1
''            Messagebox "Values:" & Chr(10) & itemValue
'      End Forall
'      Print cnt1 ' debug
'      DistList=prfdoc.DL_DC_Field(0)
'      Print itemValue ' debug
      
      Call SRdoc.Save(True,False) ' Delete after testing without.
End Sub

I can see the field with the correct data.

In the Combobox I have the list set from the functions to use field DLItems

Opening a doc shows the field correctly

Field Name: DLItems
Data Type: Text List
Data Length: 677 bytes
Seq Num: 1
Dup Item ID: 0
Field Flags: SUMMARY

"001"
"
002"
"
003"

The Combobox is empty- No list to pick from.

Any help resolving this appreciated.
LVL 63
SysExpertAsked:
Who is Participating?
 
marilyngCommented:
If this is a true profile document, then to gather info from it you have to use: @GetProfileField( profilename ; fieldname; uniqueKey );
So your hidden field, make computed for display, multivalue and set it to: @GetProfileField( profilename ; fieldname);

I tested putting the value directly into the combo box formula.. no problem.  Default profile field was "001":"002":"003".

Then you don't need to do all that stepping on the postopen, that you would have to repeat on the postmodechange anyway :)


Also, if true profile doc, it will always exist, so testing if it exists will always return true, even it has not been saved.  So, if the values are fairly constant, then it helps to put some default values into the fields, because ya'shura, they'll return even if you've never opened and saved the profile doc.

To set fields, use @SetProfileField("thisField";"thisValue").

The problem with using items, is that the push doesn't happen fast enough to load into the combo box.  So while it exists on the form, the combo box doesn't see it, until you destroy source to clear it's cache.  :)
0
 
SysExpertAuthor Commented:
Thanks marilyng , we are getting closer.

The issues is now, I only see 001 since my profile doc has the items separately as
001:002:003:004:005;
006;
007;
009;
010;
011;

originally set up with semicolon since each is a separate entry, for testing used a colon for the first 5, and it showed up as a single entry in the combobox.

Interestingly, the box shows lots of BLANK entries.

We are closer.
Any other suggestions ?
0
 
SysExpertAuthor Commented:
OK, I created a new field, and it appears to be working fine.
Thanks !
0
 
marilyngCommented:
"001":"002":"003":"004"  << multivalue field in the profile doc, separate each with anything you want.  Collect to a multivalue field, separate any way you want, on the combobox, just reference the field or the profile doc.

:))

So, enter this: "001":"002":"003":"004" in your profile formula.
0
 
marilyngCommented:
Can be wrong, but think profile docs, or @GetProfileField returns strings.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.