Improve company productivity with a Business Account.Sign Up

x
?
Solved

Combobox confusion

Posted on 2010-11-09
2
Medium Priority
?
418 Views
Last Modified: 2012-06-21
Hi Experts,

I'm trying to populate a combobox with two fields from one table and then save a value to another table.

ControlSource=Table2.Field1
RowsourceType = 6 (Fields)
Rowsource = Table1.Field1,Field2
BoundColumn=2
BoundTo = .T. (I've also tried .F.)
ColumnCount=2
ColumnWidths=0,125
Style = 2 - Dropdown List


The Rowsource table is just an index field and a description, both character fields.


Rowsource Table

Field1       Field2

01            Choice1
02            Choice2
03            Choice3
04            Choice4


I want the combobox to display Table1.Field2 and when a selection is made I want to store Table1.Field1 to Table 2.

What's happening is that nothing initially displays in the combobox. When I click on it, I see the items from Table1.Field2, as I should. But when I click on an item, I see the value from Table1.Field2. That is the value I want to store in Table 2, but I don't want to display it in the combobox after I make a selection.

For instance, when I click on the combobox I see Choice1, Choice2, etc. But when I select one of them, I see 01, 02, etc., which is what I want to store in Table 2, but not display in the combobox.

If it makes a difference, both tables are buffered,3.

I've tried using the Builder, with the same results. Any ideas? I've been at this for two days now.
0
Comment
Question by:stanmurphy
2 Comments
 
LVL 44

Accepted Solution

by:
pcelba earned 2000 total points
ID: 34098116
Yes, to do it properly is a nightmare sometimes...

I've found interesting behavior: When you define the ControlSource then Combo value contains unexpected (but usabe) values...

After some investigations my Combo has following properties:

RowSourceType = 2 (Alias),
RowSource is a cursor having the first column displayed in Combo (so it is the description column) and the second column is the binded one (the numeric key).
BoundColumn = 2
ControlSource  is undefined
ColumnCount = 0  (default)

Refresh method synchronises the Combo value to data, InteractiveChange assigns the selected value into data.

I am saving the Combo value into a form property with the same name as the combo itself. To change this code for "Table ControlSource" by REPLACE command should be easy:

*-- Refresh method
LOCAL lnArea, lnID

lnArea = SELECT(0)
SELECT (THIS.RowSource)

lnID = EVALUATE("THISFORM.DataRecord." + ALLTRIM(THIS.Name))  && value of "ControlSource"

IF ID <> lnID OR EMPTY(THIS.DisplayValue)
  LOCATE FOR ID = lnID
  IF FOUND()
    THIS.DisplayValue = EVALUATE(FIELD(1))  && description field value
  ELSE
    THIS.DisplayValue = ""
  ENDIF
ENDIF

SELECT (lnArea)


*-- InteractiveChange method
IF TYPE('THIS.Value') = "C"
  STORE VAL(THIS.Value) TO ("THISFORM.DataRecord." + THIS.Name)  && REPLACE command for "Field ControlSource"
ELSE
  STORE THIS.Value TO ("THISFORM.DataRecord." + THIS.Name)
ENDIF

Open in new window

0
 

Author Closing Comment

by:stanmurphy
ID: 34098208
I was hoping I was just missing some setting in the combobox, but I think I knew I'd have to use some code somewhere.

Thank you very much!!
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

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.

Join & Write a Comment

Microsoft Visual FoxPro (short VFP) is a programming language with it’s own IDE and database, ranking somewhat between Access and VB.NET + SQL Server (Express). Product Description: http://msdn.microsoft.com/en-us/vfoxpro/default.aspx (http://msd…
Laravel is the most sought after web development framework. It comes with ample amount of features that make it easy for developers to work around it. Know about its features in detail.
If you are looking for an automated solution for backup single or multiple Office 365 user mailboxes to Outlook data file, then you can use Kernel Office 365 Backup & Restore tool. Go through the video to check out the steps to backup single or mult…
Watch the software video of Kernel Import PST to Office 365 tools which can easily import PST and OST files to Office 365 for bulk mailboxes. The process of migration is simple and user can map source and destination mailboxes and easily import data…

595 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question