LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Можно ли ...
 RE: Можно ли вывести содержимое поля OLE в Word
 
 15.06.2007 21:09:33
Юлия
2 сообщения


RE: Можно ли вывести содержимое поля OLE в Word
Андрей, добрый день! Я столкнулась с такой же проблемой. Мне нужно поле OLE экспортировать в ворд.Делаю каталог компании по производству сумок и на выходе надо отчет экспортировать в Word. Вы нашли решение? Буду очень признательна


P.S. Проблемы с базой данных
Автор: Юлия от 12.07.2005 13:13:36 Источник ...
 15.06.2007 21:09:33
All
4316 сообщения
1-ый


RE: Можно ли вывести содержимое поля OLE в Word
На данный момент проблема отпала за не надобностью, но на просторах Интернета все вопросы связанные с данной темой обычно остаются без ответа, никто не хочет связываться с двоичными данными.


P.S. Проблемы с базой данных
Автор: Andrey от 0:00:00 Источник ...
 15.06.2007 21:09:33
All
4316 сообщения
1-ый


RE: Можно ли вывести содержимое поля OLE в Word
Юлия, вы говорила об экспорте из отчёта. В Access это помойму вообще не предусмотрено, так же как и с подчинёнными отчётами и любой графикой(линиями и тп.). И я не формировал отчётов, а выводил прямо из формы в Word.


P.S. Проблемы с базой данных
Автор: Anonymous от 0:00:00 Источник ...
 15.06.2007 21:09:33
All
4316 сообщения
1-ый


RE: Можно ли вывести содержимое поля OLE в Word
В большинстве случаев проблема с полем OLE (импорт-экспорт) решается пересмотром задачи.

Поле объекта OLE содержит двоичные данные не только самого объекта, но и его описание для Accessa.
Поэтому прямое использование двоичных данных (типа Bookmarks.ItemOLE.Words.Count) некорректно.

Чтобы убедиться в этом попробуйте вставить в таблицу bmp рисунок.
Также сохраните этот рисунок как отдельный файл.
Рисунок в форме будет отображаться нормально, как надо.
Теперь скиньте в отдельный файл двоичные данные

Dim rst As Recordset
Dim i As Long
Dim bt() As Byte
Dim ifl As Long

Set rst = Me.Recordset
i = rst.Fields(0).FieldSize
bt = rst.Fields(0).GetChunk(0, i)

ifl = FreeFile
Open "C:\Documents and Settings\Administrator\My Documents\My Pictures\003.bmp" For Binary As #ifl
Put #1, , bt
Close #1

Сразу видна разница в размерах файлов
Если посмотреть файлы любым HEX-редактором (например FAR-ом), то будет видно, что во втором файле присутствует что-то типа "....Binmap Image Paint.Picture...".
Причем эти домолнительные данные будут разными, в зависимости от того, как был добавлен в таблицу рисунок.
Т.е. поле OLE представляет собой КОНТЕЙНЕР для различных данных - т.е. сами данные и указание приложению (Access) что они собой представляют.

Добраться непосредственно до данных проще всего с использованием формы и "Присоединенной рамки объекта" - либо через методы самого контрола, либо используя буфер обмена.

В принципе можно вычислить "дополнительное окружение" в двоичном содержимом поля, но это скорее для мазохистов :)

Другой вариант - заносить в поле OLE только массив двоичных данных, но тогда отпадает возможность использовать "Присоединенную рамку". Однако в этом случае можно двоичные данные из поля скинуть во временный файл и использовать "Свободную рамку объекта)



P.S. Проблемы с базой данных
Автор: Николай от 0:00:00 Источник ...
 15.06.2007 21:09:33
All
4316 сообщения
1-ый


RE: Можно ли вывести содержимое поля OLE в Word
Не понял! Может я настолько деревянный, ну вернул я содержимое поля при помощи GetChunk,а как мне теперь достать их содержимое от туда в другое приложение (Word, Excel).


P.S. Проблемы с базой данных
Автор: Andrey от 0:00:00 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Можно ли ...
ПоискПоиск  Список форумовСписок форумов  
right