Пролопатил весь форум на предмет своего вопроса. Внятного ответа не нашел, хотя похожие посты были. Итак:
1. Имею БД на Access'2000.
В ней имеется основная таблица с главными записями и подчиненная (тип связи один-ко-многим) с иллюстрациями. Для каждой записи из главной таблицы может быть несколько иллюстраций, а может не быть ни одной.
2. Интерфейс к БД делаю на VB6. В числе прочего, при переходе по главным записям необходимо подгружать иллюстрации. Для этого выбрал OLE-контрол, как самый удобный.
Вот тут и начинаются проблемы. OLE-контрол в качестве поставщика данных принимает Data-контрол и RemoteData-контрол и категорически игнорирует ADODC. Но указанные контролы не хотят работать с mdb-базой версии 2000. Им подавай Provider=Microsoft.Jet.OLEDB.3.5*, т.е. Access предыдущей версии. Иначе нет соединения с базой.
КАК ЖЕ МНЕ ЗАГРУЗИТЬ в OLE-контрол данные из Access'2000 ?!
Несколько дней потратил на эту хрень и не нашел решения. Остается идти на поклон и вот я тут. По ка что как временное и совершенно дрянное решение - сконвертировал базу в формат предыдущей версии и использовал Data-контрол. Но это фактически проигрыш в решении проблемы.
Можно ли подсунуть программно в OLE данные от Recordset обойдять вообще без специальных контролов? Если да, то как? Учитывая, что в OLE надо пролистывать иллюстрации если их несколько, т.е. с БД извлекается несколько записей, а не один объект.
И еще, как изящнее опросить Recordset есть в нем записи или он пустой. Почему-то его свойство .RecordCount в любом случае выдает -1. Тогда нахрен оно вообще существует, это свойство???
Просто хочу сделать так: если Recordset пустой, то он скрывается с глаз долой, а если непустой, то видим и пользователь может работать с ним.
Заранее благодарен всем кто откликнется на мою тему.
Можно пример кода выставить.