Страницы: 1
RSS
Загрузка файла через Excel в БД Access в поле "Вложения"
 
Добрый день,

Имеется код VBA отправляющий данные из формы Excel в БД Access в соответствующие поля, в БД имеется поле "File" с типом "вложение" позволяющее сохранить файлы к соответствующей записи. Подскажите процедуру для загрузки файла, при условии, что известен путь расположения файла (например C:\File.pdf), данный файл так же создается через Excel, путем печати необходимых листов книги.
Скрытый текст
 
Доброе время суток.
Судя по статье Attach files and graphics to the records in your database через SQL не выйдет. Только программным способом через библиотеку Microsoft Access database engine object Library.
 
Цитата
Андрей VG написал:
Только программным способом через библиотеку Microsoft Access database engine object Library.
Не подскажите как это можно реализовать через Excel?

Вложение файлов и изображений в записи базы данных
Цитата
Вложение файлов в записи путем программирования

Access позволяет использовать модель объектов и интерфейсы программирования для вложения файлов в записи программным путем с помощью кода VBA (Visual Basic для приложений). Дополнительные сведения см. в статьях "LoadFromFile" и "SaveToFile" на веб-сайте MSDN https://msdn.microsoft.com.

 
Tidus1988, а зачем хранить файлы в Access? Тем более что там размер базы ограничен очень конкретно. Их же можно хранить в одной определенной папке, а из Access или из Excel - гиперссылки на них. С другой стороны, конечно, никто не мешает, если хочется поизучать  SQL...   (ИМХО)   :)  
 
Я знаю про ограничения размера базы в 2 Гб и ограничения загружаемого файла в 256 Мб, просто есть определённая специфика, согласно которой необходимо небольшого размера файл сохранять именно в генерируемой строке БД. Текущих знаний sQL мне явно не хватит на реализацию собственными силами :sceptic:  
 
Понятно.
Tidus1988, тогда Вам нужно на форумы конкретно по sql. Хотя может и здесь кто-то что-то подскажет, не исключено
 
Повторюсь, через SQL, почти наверняка никак! Если выполнить Select запрос, то тип данных для такого поля ADODB определяет как adLongVarWChar - то есть поле Memo.
Цитата
Tidus1988 написал:
как это можно реализовать через Excel?
Подключаете библиотеку в проекте VBA - раннее связывание более удобно для изучение, подключаете базу, через DAO.Recordset создаёте новую запись, и пользуясь методами поля загружаете файл. Присоединюсь к _Igor_61, лучше спрашивать на профильном форуме, например, Microsoft Access. Ну, или подождать, вдруг кому-то будет интересно наваять код на VBA здесь.
 
Благодарю.
 
да, вопрос задать там, а ответ выложить здесь)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Привет от собратьев по разуму.
Вопрос был задан там тоже и ответ я написал тоже там:)
https://www.sql.ru/forum/1333449/zagruzka-fayla-cherez-excel-v-bd-access-v-pole-vlozheniya
Страницы: 1
Наверх