Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Хранение в БД (Акцесс 2002) документов Ворд / 7 сообщений из 7, страница 1 из 1
12.10.2004, 08:31:39
    #32733207
ayv
ayv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение в БД (Акцесс 2002) документов Ворд
Добрый всем день!
Возможно вопросы будут для кого то банальными, не взыщите -)))
Посоветуйте, как решить задачку:
Есть таблица в БД (Акцесс 2002), допустим "Кандидаты". Для каждого кандидата
(записи в таблицы) существует вордовский документ (Резюме).
Хотелось бы хранить этот документ в БД (в поле таблицы).
Хранить ссылку на файл, а файл на сервере не очень хочется в силу разных причин
(хотя просто и достаточно удобно)!
Можно ли эту задачку решить через объект Stream?
Если можно, то у меня след. вопросы:
Каким должен быть тип поля в таблице, куда я хочу поместить файл?
ПОсле того как Stream открыть и файл указан, как записать в модуле формы, что он должен быть сохранен в нужном поле?
При необходимости в дальнейшем обратиться к этому полю можно ли будет
получить эти данные в виде доступном для Ворд? (на просмотр, например на 2клик
по этому контролу в форме)
...
Рейтинг: 0 / 0
12.10.2004, 09:00:49
    #32733237
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение в БД (Акцесс 2002) документов Ворд
мне тоже кандидаты и тоже вордовские резюме сохранять заявку написали.

сделать это можно через стрим а можно через массив.

может так:

ПеременнаяТипаВариантСДаннымиФайла = массивбайт
Me!БинарноеПолеРекордсета = ПеременнаяТипаВариантСДаннымиФайла

тока зачем в форме бинарные данные тягать, лучше отдельный рекордсет открыть


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim m_value, filename As String
Dim Filedata() As Byte
Dim RS As New ADODB.Recordset
        
ReDim Filedata(FileLen(FILENAME) -  1 )
Open FILENAME For Binary Access Read As # 1 
        Get # 1 , , Filedata()
        Close # 1 
m_value = Filedata()

RS.Open "select * from .... where id = 0", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
   RS.AddNew
   RS("filebinary") = m_value
   RS("Filename") = filename
   RS.Update
   RS.Close
...
Рейтинг: 0 / 0
12.10.2004, 11:21:26
    #32733517
ayv
ayv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение в БД (Акцесс 2002) документов Ворд
Про предложенный способ я не знал
Буду пробывать, спасибо
Только насчет формы не совсем понял -(((
На форме источником которой является таблица Кандидаты
у меня кнопка "Добавить резюме" по нажатию которой
открывается стандартный диалог выбора файла.
После выбора нужного файла мне хотелось бы, чтобы
файл сохранился в таблице.
Я поместил на форму Контрол (путь к файлу, тип текстовый), чтобы было видно
есть данные или нет и, допустим, по дабл клик запустить резюме в Ворде.
Но для меня принципиально, чтобы файл восстановился из базы.
Или я что то не понимаю?
...
Рейтинг: 0 / 0
12.10.2004, 11:24:55
    #32733523
ayv
ayv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение в БД (Акцесс 2002) документов Ворд
Как в Акцессе 2002 выбрать тип поля табличного - бинарный? -)))
...
Рейтинг: 0 / 0
12.10.2004, 11:53:17
    #32733590
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение в БД (Акцесс 2002) документов Ворд
я бы хранил данные о файле в отдельной связанной табличке - документов может быть приложено несколько к одному кандидату
есть связанная с претендентом запись в табличке - значит есть файл

в подформе выводил бы инфо о файле сохраненное в отдельном поле и кнопку с рисунком ворда для открытия и просмотра

для ввода имени файла лучше всего использовать filedialog

для аксесса тип поля OLE для MSSQL image
...
Рейтинг: 0 / 0
12.10.2004, 12:00:55
    #32733603
ayv
ayv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение в БД (Акцесс 2002) документов Ворд
Согласен
Просто иду от простого
Научиться хранить хотя бы один файл
Алексей, я не совсем понял
" ....where id = 0"?
...
Рейтинг: 0 / 0
13.10.2004, 13:52:30
    #32736252
ayv
ayv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение в БД (Акцесс 2002) документов Ворд
Хочу в базе хранить текстовые доки
Создал объект Stream, прочитал в него файл и не знаю, как
его запихнуть в базу (таблицу).
Dim objStream As New ADODB.Stream
'Set objStream = CreateObject("ADODB.Stream")
'objStream.Mode = adModeReadWrite

objStream.Open
objStream.Charset = "ascii"
objStream.Type = adTypeText

objStream.LoadFromFile fName
Не откажите в помощи
Спасибо
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Хранение в БД (Акцесс 2002) документов Ворд / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]