Страница: 1 |
Страница: 1 |
Вопрос: Вставка OLE объектов из БД
Добавлено: 12.09.06 11:52
Автор вопроса: Vniie
Здраствуйте.
Подскажите пожалуйста как вставить в VB проект OLE объект из БД Access.
OLE объект храниться в поле базы, а из VB нужен доступ к его просмотру.
Использую Adodc.connection.
Ответы
Всего ответов: 15
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 12.09.06 21:50
ну есть такой же OLE объект самого Accsess'a, вероятно через него можно...
Номер ответа: 2
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #2
Добавлено: 12.09.06 23:45
www.codenet.ru/progr/vbasic/vb_db/8.php, и
http://www.codenet.ru/progr/vbasic/vb_db/9.phpтоже посмотри (и соседние темы...и т д) Приятного изучения!
P.S. Вообще по-моему задача простая
Номер ответа: 3
Автор ответа:
Vniie
Вопросов: 1
Ответов: 7
Профиль | | #3
Добавлено: 14.09.06 11:38
Дело в том, что OLE в VB не понимает свойство Datasource = rec, если rec открыто через Adobd.connection. У меня получилось, если OLE привязать к элементу Data. т.е. если создать не ADOBD а DAO (или ADO) запись.
Номер ответа: 4
Автор ответа:
Vniie
Вопросов: 1
Ответов: 7
Профиль | | #4
Добавлено: 14.09.06 11:38
Дело в том, что OLE в VB не понимает свойство Datasource = rec, если rec открыто через Adobd.connection. У меня получилось, если OLE привязать к элементу Data. т.е. если создать не ADOBD а DAO (или ADO) запись.
Номер ответа: 5
Автор ответа:
Vniie
Вопросов: 1
Ответов: 7
Профиль | | #5
Добавлено: 14.09.06 11:44
В принципе, если можно вставить в VB гиперссылку, которая храниться в поле Access, так чтобы она работала из VB, то это даже лучше, чем работать с OLE. Но и гиперссылку VB видит как просто текст. Это вообще реально в VB сделать?
Номер ответа: 6
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #6
Добавлено: 14.09.06 12:39
Ну если ты хочешь программно открыть документ и сделать его видимым, можно. Но не через гиперссылку.
Номер ответа: 7
Автор ответа:
Vniie
Вопросов: 1
Ответов: 7
Профиль | | #7
Добавлено: 14.09.06 13:53
Если не сложно, подскажите как мне в принципе лучше сделать, что бы иметь возможность из VB проекта открыть (посмотреть) файл, ссылка(или сам файл) на который храниться в поле Access.(или OLE, или Hyperlink).
Заранее спасибо.
Номер ответа: 8
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #8
Добавлено: 14.09.06 21:48
Ну соотв тип поля смотреть...
Номер ответа: 9
Автор ответа:
Vniie
Вопросов: 1
Ответов: 7
Профиль | | #9
Добавлено: 15.09.06 10:59
Попробовал следующее:
rec as new ADODB.recordset
В SQL прописываю конкретное поле, где храниться OLE объект и...
Set OLE1.object = rec.fields("поле".value
Но выдается ошибка типа объекта нет.
Если визуально поместить элемент DATA1 и в нем это поле указать, а OLE1 привязать к DATA1 то тогда все нормально.
Номер ответа: 10
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #10
Добавлено: 15.09.06 18:34
Можно ещё так:
set s = createobject("то, что тебе нужно просмотреть, полный путь"
s.visible = true
Здесь не надо ни ole, ничего. Просто откроется то., что тебе нужно.
Номер ответа: 11
Автор ответа:
Vniie
Вопросов: 1
Ответов: 7
Профиль | | #11
Добавлено: 15.09.06 19:44
Здесь скорее подойдет GetObject, но работает слишком медленно.
DATA1 не устраивает. Доступ к базе через Adodb.connection и созданы Recordset'ы.
Все было без проблем. Но как вытащить этот объект из БД в уме не приложу.
Номер ответа: 12
Автор ответа:
Сергей
Вопросов: 5
Ответов: 7
Профиль | | #12
Добавлено: 04.10.06 07:27
С такой же ситуацией бился долго...
Ничего умнее не придумал, чем сохранять абсолютный путь к картинке в базе данных.
по всей видимости напрямую через ADO recordset OLE не переслать.
А вообще потом помучился немного (это касается изображений) и сделал в VB модуль, который сохраняет картинку в виде RGB-кода, ну и когда нужно делает обратное - читает числа, и преобразует их в изображение
Номер ответа: 13
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #13
Добавлено: 04.10.06 23:31
ужос... тогда уже банари поле и преобразовывать картинку в/из бинарного массива...
Номер ответа: 14
Автор ответа:
Сергей
Вопросов: 5
Ответов: 7
Профиль | | #14
Добавлено: 05.10.06 07:25
ну когда речь заходит о том, ЧТО нужно делать, а заказчику пофигу как ты ЭТО будешь делать - то приходится и такими вещами заниматься...
Номер ответа: 15
Автор ответа:
Vniie
Вопросов: 1
Ответов: 7
Профиль | | #15
Добавлено: 06.10.06 00:23
Нашел выход из положения. Спасибо за наводки