Есть ли способ получить ms-доступ для отображения изображений из внешних файлов

StackOverflow https://stackoverflow.com/questions/40112

  •  09-06-2019
  •  | 
  •  

Вопрос

У меня есть приложение 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 не требуется.

Подробнее см. в моем другом ответе здесь .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top