Отображение содержимого поля типа OLE таблицы БД Access при обращении к нему из Word - VBA

Узнай цену своей работы

Формулировка задачи:

Из приложения Word обращаюсь к таблицам БД Access. Отображение текстовых и логических полей получается, а полей типа OLE - нет. Попытка вывести содержимое поля типа OLE в элемент управления типа TextBox или в текущий документ оказалась безуспешной: в элементе управления - ничего, а в документе - абракадабра. Последнее вселяет надежду, что в объекте Recordset что-то есть от поля OLE. Встречался ли кто-либо с этой задачей?

Решение задачи: «Отображение содержимого поля типа OLE таблицы БД Access при обращении к нему из Word»

textual
Листинг программы
Dim SelectedTests As Recordset
    Dim wstr1, wstr2 As String
 
wstr1 = "Тема = " & "'" & lstSelectedThemesContrlWork.List(i, 0) & "'" 'В строковую переменную помещаю имя темы.
wstr2 = "ПодТема = " & "'" & lstSelectedUnderThemesContrlWork.List(j, 0) & "'"'В строковую переменную помещаю имя подтемы.
 
   Set SelectedTests = CreateObject("ADODB.Recordset")
строка_SELECT = "SELECT ФормулировкаТеста, Тема, ПодТема, ВключениеТестаВопрос FROM tblТесты WHERE " & wstr1 & " AND " & wstr2
 SelectedTests.Open строка_SELECT, "БанкТестовыхЗаданийПоМатематике", adOpenForwardOnly, adLockReadOnly
'В таблице tblТесты поле ФормулировкаТеста имеет тип OLE, остальные поля - текстовый или логический типы.
'Попытка вывести содержимое текстового поля в текущий документ работает:
Selection.TypeText (CStr(SelectedTests("Тема"))) 'Вывод содержимого поля "Тема" RecordSet в документ.(SelectedTests("ВключениеТестаВопрос"))
 
'Попытка вывести содержимое поля OLE в текущий документ приводит к появлению в нем абракадабры:
Selection.TypeText SelectedTests("ФормулировкаТеста")
 
SelectedTests.Close 'Закрытие набора записей.
Set SelectedTests = Nothing 'Освобождение оперативной памяти.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы