![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Добавление объекта OLE в MS ACCESS [D6]
Doom © (2003-03-20 08:19:00)Поммогите разобраться с такой проблемой.
Упрощенно задача такая:
Есть база, предназначенная для использования в ACCESS,
Delphi применяется для автоматизации следующей задачи:
В базе есть 2 таблицы (остальные здесь не важны)
1. "Папки" с полем "ИмяПапки" : тип-Текстовый
// здесь хранятся записи в виде "c:\Work", "d:\Work" и т.п.
2. "Документы" с полями
1. "ИмяДокумента" : текстовый // сюда заносится полное имя файла
2. "Документ" : тип - Поле объекта OLE // сюда вносится его содержимое
В таблицу "Документы" нужно добавить имена и содержимое всех файлов,
найденных во всех папках таблицы "Папки".
Полные имена всех файлов во всех папках в таблицу внести удается, а вот потом....
Вопрос вот в чем : Как, зная имя файла, добавить его как OLE в поле "Документ" ?
Serginio (2003-03-20 17:10:00) [1]Работай через Stream Оле объекта. Он поддерживает LoadFromStream и SaveToStream либо через PersistStream через который на самом деле и работают предыдущие 2 метода.
Doom (2003-03-20 14:59:00) [2]Мастера !!!
Неужели никто не знает и не поделится, как заносить OLE в поле???
Doom (2003-03-20 12:18:00) [3]Такое решение конечно не годится.
С этой базой работать будут в ACCESS
а как это сделать другими средствами (Visual Basic подойдет вполне)
p.s. Просьба за упоминание ВАСИКА веточку не убиватьт ):::
DOOMin (2003-03-20 11:46:00) [4]из Дельфи я не понял как это сделать. Пытался, но при записи там отличаются форматы (смотрел по дампу). Но можно использовать OLE поле как BLOB. Ты тогда создаешь FileStream на основе своего документа и преобразуя в BLOBStream записываешь в поле. Код работает, но в самом access ты увидишь в таблице надпись "двоичные данные" и соответственно вызвать из access word двойным щелчком по полю не получится, только можно снова из программы вычитать это поле, сохранить во временный файл и запустить word. может кто-то знает другой способ, был бы рад ознакомится