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
      ' 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


The Combobox is empty- No list to pick from.

Any help resolving this appreciated.
LVL 63
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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.  :)

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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

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 ?
SysExpertAuthor Commented:
OK, I created a new field, and it appears to be working fine.
Thanks !
"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.
Can be wrong, but think profile docs, or @GetProfileField returns strings.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Lotus IBM

From novice to tech pro — start learning today.