|
|
|
| В базу данных необходимо закачать около 2000 фотографий с небольшим ~ 400х300 расширением. При загрузке фото в таблицу в поля OLE база раздувается до неимоверных размеров. Я понял так, что JPEG access переводит в формат сравнимый с BMP плюс в поле загружается дополнительная информация ACCESS. Как вариант рассматривал ссылки на объекты, но хотелось базу сделать мобильной, но при перезаписи на другой комп может возникнуть проблема несоответствия пути, плюс в этом случае в форме самого рисунка не видно. Помогите советом, как сделать красиво. | |
|
| |
|
|
|
| храните картинки на диске. в базе - только линки на.
используйте относительные ссылки, ане абсолютные. например храните картинки в каталоге, где и лежит ваша база данных, а ссылки на кртинки в базе храните как "\photo\картинко1.jpg", например.
а при вызове из программы - вычитывайте адрес, откуда запустилось ваша БД и прибавляйте к адресу ваш относительный путь к картинке.
я бы так и сделал.
собсно, на сайтах так и организовано. | |
|
| |
|
|
|
| Если делать по ссылке (формат поля - гиперссылка), то в открытой форме отображается путь, а не рисунок, единственная проблемма. | |
|
| |
|
|
|
| зачем гиперссылка?
например, используйте компонет ActiveX какойнить, в который загружайте картинко | |
|
| |
|
|
|
| а зачем такие сложности то?
создаем в таблице новое поле. текстовый формат размером 255 символов (для экстрималов )))) . В него будем заносить имя файла с расширением.
далее, если необходимо загрузить картинку создаем путь след.образом:
путь до базы / Папка Фото / значение из поля
--
пример. на форме создаем рисунок. форматим его свойства (обьекта в форме) как надо- растягивать- нерастягивать и т.п. моменты. Далее при помощи команды
Me.Pict1.Picture = "D:\My_Documents\1_1.gif"
грузим рисунок. Ну в нашем случае эта команда будет такой:
Me.Pict1.Picture = Application.CurrentProject.Path & "\Папка Фото\" & me.PolePict1
ну а зная теперь постоянный путь до картинки вы можете базу с этой папкой тягать скока и куда угодно. | |
|
| |