PRB: Data Type Mismatch Error with Combo Box or List BoxLast reviewed: January 10, 1997Article ID: Q156550 |
The information in this article applies to:
SYMPTOMSSetting the ControlSource property of a combo or list box to a Date type field produces the following error at run time:
Error with <comboname>-Value: Data Type Mismatch. Unbinding object <comboname> CAUSECombo boxes and list boxes handle only Character, Numeric, and Null data types. Other field types produce an error when the form runs.
WORKAROUNDYou can work around by using a SELECT - SQL statement to create an array, instead of setting the ControlSource property of a combo box or list box to a Date type field. Use the array in the RowSource property of the combo or list box. The DTOC() function changes the data type from Date to Character. For instance, to fix the example illustrated in the STEPS TO REPRODUCE BEHAVIOR section below, you can use the following code in the Init method of the form:
SELECT DTOC(order_date) FROM orders INTO ARRAY adates THISFORM.combo1.RowSource=THISFORM.combo1.RowSourceIn the Valid event of the combo box or list box, use a REPLACE statement, instead of the ControlSource property, to place the value in the other table:
REPLACE employee.hire_date WITH CTOD(THISFORM.combo1.Value)The CTOD() function converts the selection back into a Date data type.
STATUSThis behavior is by design.
MORE INFORMATIONCombo box and list box objects do not handle all data types in the ControlSource property. The ControlSource property of a combo box or list box object can contain only data types of Character, Numeric, or Null.
Steps to Reproduce Behavior
data environment of the form. Testdata is located in the Vfp\Samples\Data folder.3. Add a combo box or list box to the form and set the following properties: ControlSource=employee.hire_date RowSource=orders.order_date RowSourceType=Fields
|
KBCategory: kbprg kbprb
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |