Picklists in SalesLogix are a very useful tool, but did you know you could also you values from an existing picklist to populate other list-based controls such as ComboBoxes, CheckListBoxes, ListViews... even Radio groups? You simply need an understanding of the structure of picklists in SalesLogix:
There is a table named "Picklist" within the salesLogix database. There are a number of fields in that table, but the most important fields in this table are TEXT, ITEMID, and PICKLISTID. SalesLogix stores both the individual picklist items in this table, along with the definition for the picklist itself. The TEXT field contains the name of both the Picklist as well as each picklist item, however; a list item's picklistid value will equel the itemid of the picklist name record. Instead of an ID in picklistid, the main record of the list contains the value 'PICKLISTLIST'.
So, say you wanted to return the results of the Contact Type picklist, you could run the query:
select text as [Contact Type] from picklist
where picklistid in
(select itemid as picklistid from picklist
where text = 'Contact Type' and picklistid = 'PICKLISTLIST')
order By text
Then using that as the SQL in the process I defined in my last post (Here) you can populate the control of your choice with those values. This would also be very helpful if you wanted to use SLX Picklist data in an external application which has access to the SalesLogix data.
Pretty neat!