Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
MegaFox 1002 (CalendarDemo form)
Message
From
01/02/2004 14:24:08
 
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Miscellaneous
Thread ID:
00872703
Message ID:
00872796
Views:
46
Hello Steve.

I copied iclents.dbf to bients, then added a second date field. Opened up
the calendarDemo, modify, selected listbox, used builder, selected bients.dbf,


This is because you can only bind these controls to character, numeric, or null data sources. If you try to bind a combo or list box to a Date or DateTime field, Visual FoxPro will complain and display the following error at run time:

Error with -Value: Data Type Mismatch.
Unbinding object

If you must bind a combo or list box to a Date or DateTime field, you will have to resort to a little trickery. In this case you cannot use RowSourceTypes of 2-Alias or 6-Fields. You can, for example, set the RowSourceType to 3-SQL Statement and use a SQL statement similar to this as the RowSource:
SELECT DTOC( DateField ) AS DisplayDate, yada, nada, blah FROM MyTable ; 
       ORDER BY MyTable.DateField INTO CURSOR MyCursor 
Leave the ControlSource blank and add this code to its Valid method to update the date field in the underlying table:
REPLACE DateField WITH CTOD( This.Value ) IN MyTable
You will also need to write some code to manually update the control's Value from its ControlSource to mimic the behavior of a bound control when you Refresh it. This code in the combo or list box's Refresh method does the trick:
This.Value = DTOC( MyTable.DateField )
Previous
Reply
Map
View

Click here to load this message in the networking platform