Есть ли способ получить ms-доступ для отображения изображений из внешних файлов
Вопрос
У меня есть приложение MS-Access (1/10 MS-Acccess, 9/10 MS-SQL), которое должно отображать фотографии некоторых активов вместе с их спецификациями. В настоящее время изображения хранятся в таблице MS-Access как объект OLE (и копируются и вставляются в поле пользователями).
По разным причинам я хотел бы сохранить исходные файлы .jpgs в папке на сетевом диске и ссылаться на них из части приложения. Я подумал о переходе на тип данных образа MS-SQL (и его замену varbinary), но я думаю, что мое население будет легче понять концепцию сетевой папки.
Как я могу получить MS Access для отображения содержимого .jpg?
Решение
Другой вариант - добавить элемент управления изображением в форму. Существует свойство этого элемента управления (Picture), которое представляет собой просто путь к изображению. Вот краткий пример того, как вы можете его использовать в VBA.
txtPhoto будет текстовым полем, связанным с полем базы данных с путем к изображению imgPicture - элемент управления изображением Пример - это событие нажатия кнопки, которая перейдет к следующей записи.
Private Sub cmdNextClick()
DoCmd.GoToRecord , , acNext
txtPhoto.SetFocus
imgPicture.Picture = txtPhoto.Text
Exit Sub
End Sub
Другие советы
Вы смотрели на решения Стивена Лебанса? Вот один из них:
Модуль класса изображений для доступа
Посмотрите список других замечательных кодов в левой части этой веб-страницы. Вы можете найти то, что полностью соответствует тому, что вам нужно.
Я обнаружил, что эта статья Microsoft с полным VBA очень хорошо для меня работает.
Как отображать изображения из папки в форме, отчете или на странице доступа к данным а> р>
Самый простой способ - это, вероятно, подключить Internet Explorer к одной из ваших форм. Посетите этот сайт: http://www.acky.net/tutorials/vb/wbrowser/ р>
Поскольку вы можете ссылаться на этот объект в Access, вам нужно будет только указать веб-браузеру элемент управления на путь .jpg (NavigateTo (), если я правильно помню).
РЕДАКТИРОВАТЬ: вышеуказанная ссылка была просто найдена и найдена по результатам (первая, которая открылась быстро). Я не думаю, что это очень хороший учебник, он просто содержит все нужные вам указатели ... Посмотрите msdn и т. Д., Если вам нужно больше информации!
Вы можете попробовать элемент управления ActiveX под названием AccessImagine , который делает добавление изображений в базу данных более удобным - вы можете загрузить из файл, сканирование, вставка из буфера или перетаскивание. Вы можете обрезать изображение прямо внутри базы данных и автоматически выполнить повторную выборку. Он обрабатывает внешнее хранилище изображений автоматически, если вам это нужно.
Обратите внимание, что в Access 2010 (и более поздних версиях) это сделать очень просто, поскольку элемент управления Image можно привязать к полю в таблице, которое содержит путь к файлу изображения (.jpg, .png, ...). VBA не требуется.
Подробнее см. в моем другом ответе здесь .