The DDX_FieldCBString function manages the transfer of CString data between the edit control of a combo box control in a record view and a CString field data member of a recordset associated with the record view.

void AFXAPI DDX_FieldCBString( 
   CDataExchange* pDX, 
   int nIDC, 
   CString& value, 
   CRecordset* pRecordset  
void AFXAPI DDX_FieldCBString( 
   CDataExchange* pDX, 
   int nIDC, 
   CString& value, 
   CDaoRecordset* pRecordset  


  • pDX
    A pointer to a CDataExchange object. The framework supplies this object to establish the context of the data exchange, including its direction.

  • nIDC
    The ID of a control in the CRecordView or CDaoRecordView object.

  • value
    A reference to a field data member in the associated CRecordset or CDaoRecordset object.

  • pRecordset
    A pointer to the CRecordset or CDaoRecordset object with which data is exchanged.


When moving data from the recordset to the control, this function sets the current selection in the combo box to the first row that begins with the characters in the string specified in value. On a transfer from the recordset to the control, if the recordset field is Null, any selection is removed from the combo box and the edit control of the combo box is set to empty. On a transfer from control to recordset, if the control is empty, the recordset field is set to Null if the field permits.

Use the first version if you are working with the ODBC-based classes. Use the second version if you are working with the DAO-based classes.

For more information about DDX, see Dialog Data Exchange and Validation. For examples and more information about DDX for CRecordView and CDaoRecordView fields, see the article Record Views.


See DDX_FieldText for a general DDX_Field example. The example includes a call to DDX_FieldCBString.


Header: afxdao.h

See Also


MFC Macros and Globals