attachments in MS Access
Apr. 30th, 2008 02:38 pm![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Здравствуйте!
Требуется сохранять в MS Access базе PDF файлы.
По аналогии с почтовыми вложениями.
Чтоб можно было *.pdf файл открыть на просмотр.
Помогите, пожалуйста!
Требуется сохранять в MS Access базе PDF файлы.
По аналогии с почтовыми вложениями.
Чтоб можно было *.pdf файл открыть на просмотр.
Помогите, пожалуйста!
no subject
Date: 2008-04-30 11:42 am (UTC)Напрямую, вроде, не интегрируется.
no subject
Date: 2008-04-30 12:04 pm (UTC)no subject
Date: 2008-04-30 12:23 pm (UTC)Ипло того, если вставлять в виде окошка для просмотра, намучаешься потом с немасштабиремостью pdf в Ассеsse.
no subject
Date: 2008-04-30 12:27 pm (UTC)может натолкнете на путь истиный
no subject
Date: 2008-04-30 12:24 pm (UTC)Вариант со складыванием интересен. А каким образом можно максимально оградить пользователей, которые будут добавлять новые пдф-ки в этот каталог? Чтоб они могли только добавлять их. Желательно через интерфейс Access.
процедура такова:
1) есть документ, он сканируется и добавляется в базу (или в каталог)
2) уполномоченные лица, просматривая этот документ, утверждают его
Как сделать, чтоб человек, который добавил эту пдф-ку в каталог, не смог удалить/заменить её?
Как сделать, чтоб посторонние не могли прочитать/удалить этот документ просто написав путь к каталогу?
no subject
Date: 2008-04-30 12:37 pm (UTC)Пользователь, сканируя файл, пересылает его на групповой почт. ящик, откуда он автоматом выкладыается в каталог с ограничением по правам.
Ссылка будет сгенерирована автоматом, удаление файлов невозможно.
Через задницу, конечно, но зато будет работать.
Для автоматизации процесса добаления ввести простую кнопочную форму,
вывод данных - в виде формы/отчёта.
no subject
Date: 2008-04-30 12:45 pm (UTC)боюсь, что групповой почтовый ящик я не осилю.
а нельзя ли средствами Accessа (напр., через ту же форму) реализовать аплоад файла в каталог?
no subject
Date: 2008-04-30 12:52 pm (UTC)Во встроенном Visual можно это сделать достаточно просто.
Кстати, это действительно проще, чем почту подцеплять.
no subject
Date: 2008-04-30 01:03 pm (UTC)если Вашим ответом будет аббревиатура RTFM, я пойму и смирюсь :)
Спасибо!!!
no subject
Date: 2008-04-30 03:27 pm (UTC)Макрос создаётся заранее.
В макросе запускаете сканирование
Следующий - открытие папки и сохранение выбраного файла.
no subject
Date: 2008-05-01 07:54 am (UTC)1) Макросы в Аксесе это совсем не то, что Вы себе наверное представляете, они не могут "запустить сканирование", ибо колличество выполняемых макросом команд очень ограничено. Аскеру нужен не макрос, а VBA-скрипт.
2) Аттачменты хранятся аутлуком не в "папке", а в бинарном формате в файле .pst, поэтому "открывать и сохранять" там вообще нечего, необходимо через предоставляемый Аутлуком OLE-Server получить доступ к базе и методами Аутлука опять таки сохранять аттачи.
no subject
Date: 2008-05-01 12:00 pm (UTC)С минимальными затратами.
no subject
Date: 2008-05-01 12:31 pm (UTC)no subject
Date: 2008-05-01 07:50 am (UTC)Первый случай более "геморойный", потому что Аутлук обычно ограничивает доступ через OLE-сервер к своим данным, поэтому гораздо проще написать на VBS макрос для самого Outlook, который сложит все аттачи в отдельную папку.
Если, тем не менее, Вы хотите делать это из Аксеса, то порядок действий такой:
1) сначала нужно подключить DLL-библиотеку Outlook (в среде разработки "Опции" - "Ссылки") к вашей mdb.
2) после того, как эта библиотека подключена у Вас появится возможность определять новые типы данных, в частности Outlook.Application. В этом типе данных доступны несколько интересных коллекций, в том числе коллекция писем, коллекция открытых окон и прочее. Каждое письмо представляет собой объект MailItem, которые поддерживает все необходимые нам методы (в частности добавить или удалить аттачмент).
no subject
Date: 2008-05-07 06:24 am (UTC)как зовется библиотека?
перепробовал те что в списке, но новые типы данных не появились
а длл-файлы из офисной папки подключаться не хотят
извините за назойливость, но мне бы очень помог упомянутый Вами проект.
no subject
Date: 2008-05-07 06:42 am (UTC)Я пошлю сейчас Вам один проект, где я активно работаю с Аутлуком.
Проект, что я упомянул Выше, я не нашел тогда дома, а на работе я еще толком не был в этом месяце (буду только в пятницу), поэтому пока не мог выслать.
Предлагаю дальше общение вести по э-мейл, письмо от меня Вы получите через несколько минут.
no subject
Date: 2008-05-07 06:43 am (UTC)no subject
Date: 2008-05-07 06:58 am (UTC)Мой адрес -- как мое имя здесь только без буквы икс на gmail.com.
no subject
Date: 2008-05-07 07:00 am (UTC)спасибо!
no subject
Date: 2008-05-07 03:03 pm (UTC)no subject
Date: 2008-05-07 03:05 pm (UTC)no subject
Date: 2008-05-01 07:41 am (UTC)Размер базы растет не экспоненциально (как Вы это себе вообще представляете????), доступ вообще никак не страдает (если правильно построены индексы).
no subject
Date: 2008-05-01 10:39 am (UTC)(отошел, подумал) Возможно, в MSA2003 это поправили, но в 2000 с хранением бинарных данных все выглядело не лучшим образом.
no subject
Date: 2008-05-01 11:41 am (UTC)(на "ты" намного проще) Возможно ты прав с MSA2003, как я писал выше, у нас 12 000 картинок в базе, проблем с производительностью нет. Единственно что -- мы эти картинки вообще не удаляем, то есть базу сжимать не приходится вообще -- и соответственно не нужно перестраивать индексы и прочее.
no subject
Date: 2008-04-30 12:13 pm (UTC)no subject
Date: 2008-04-30 12:25 pm (UTC)А потом уже интегрировать.
НО при приличных объёмах вставляемых кусков - это совершенно нерентабельно по усилиям.
no subject
Date: 2008-05-01 07:38 am (UTC)1) таблицу, где хранятся бинарные данные, лучше разместить в отдельной mdb, в основной базе создать лишь ссылку на эту таблицу.
2) в этот же mdb лучше не помещать таблицы, которые часто обновляются и (самое главное!) из которых часто удаляются данные - таким образом не нужно будет проводить сжатие базы.
Могу прислать один небольшой проект (база данных знатоков игры ЧтоГдеКогда), где я сохраняю в базе фотографии знатоков, а также динамически достаю их оттуда (для отображения в формуляре). Сохранение файла любого другого типа принципиально ничем не отличается.
P.S.: Надо просто все грамотно делать -- Аксес, в отличие от других офисных программ, это все-таки среда разработки, а не офисный пакет, и его надо изучать по книгам и руководствам, а не по принципу "а, базы данных я знаю чуть-чуть, и тут разберусь".
no subject
Date: 2008-05-05 06:05 am (UTC)возможно, этот вариант даже лучше подойдет :)