CAdodc
1227
0
Использую Visual C++/MFC.
Есть база Access с двумя таблицами.
В первой хранится инфа о отделах:
id, dept_name

Во второй - о сотрудниках, в этих отделах работающих:
id, name, dept

где dept - это индекс (id) отдела из первой таблицы.

Необходимо на форме информации о сотруднике отобразить его принадлежность к соответствующему отделу с возможностью редактирования этой информации.

Использую CAdodc для получения данных из таблиц и CDataCombo (Microsoft DataCombo Control) для отображения. В качестве свойства DataSource контрола CDataCombo как и следует прописываю ID контрола CAdodc (IDC_ADODC1).

НО! Запрос для получения информации о сотруднике (в частности, о его отделе) формируется в рантайме, поскольку сотрудник выбирается из списка и сразу прописать запрос нельзя. Сответственно, текст sql-запроса должен вставляться в CAdodc динамически.

Делаю:
m_Info.SetRecordSource("select * from empl where id = " + EmpID);
m_Info.Refresh();

где m_Info - объект класса CAdodc.
EmpID - идентификатор сотрудника (приведенный к CString)

Вылазит ошибка:
[ADODC]: no RecordSource specified. [ADO]:Command text was not set for the command object.

Идентификатор сотрудника (EmpID) является членом класса окна информации о сотруднике, а значение передается ему из родительского окна так:

CEmpDtaDlg dlg;
dlg.EmpID = "3";
dlg.DoModal();

Как успеть забить RecordSource, чтобы данные корректно отображались?

Спасибо.