Фото в формах: как подставить картинку по умолчанию при отсутствии файла по ссылке?
samosyn
Дата: 17.12.2011 16:10:00
Добрый день,
Есть формы для внесения информации об объектах в БД, много фоток. Храню фотографии объектов на диске, в БД только ссылки. Экономично с точки зрения размера БД, но необходимо постоянно следить за тем, чтобы все фото были на месте. При многопользовательском наполнении БД это проблематично. Дисциплина пользователей - отдельный момент, но если бы удалось найти решение, не прерывающее нормальной работы с БД, а, скажем, подставляющее вместо отсутствующей картинки некую дефолтную "пустышку", было бы очень мило. Идеальный вариант - пустышка хранится в БД, и ее не нужно таскать с собой в виде отдельного файла. Таким образом юзер может работать с БД даже если в наличии имеется только mdb.
Мне кажется, описанная проблема могла волновать не только меня =)
Народ, у кого есть мысли/идеи/варианты - поделитесь пожалуйста!
Заранее благодарен.
nord-woolf
Дата: 17.12.2011 16:58:15
А в чем сложность?
1. На текущей записи формы проверить наличие файла по указанному пути.
2. Если файл имеется - показать.
3. Если файла не имеется - показать дефолтную картинку, которая "припрятана" прямо в форме (visible=True / visible=False).
Если дефолтную картинку хочется периодически менять, чуток сложнее, но реализуемо.
samosyn
Дата: 17.12.2011 17:16:16
nord-woolf,
"припрятана" в форме?
В смысле на месте фото (как бы фоном??) помещена статическая картинка, видимая если нет файла с реальным фото, и невидимая если он есть? Я правильно понимаю?
Как вариант подходит, но придется множить дефолтную картинку в каждой форме, в которой должны быть фото.. Их более десятка уже сейчас, и думаю, может быть до сотни в полнофункциональном приложении. С точки зрения размера БД не очень рационально, опять же...
nord-woolf
Дата: 17.12.2011 17:23:32
samosyn |
---|
...Как вариант подходит, но придется множить дефолтную картинку в каждой форме... |
"Подвесь" одну картинку в памяти на старте приложения, а на загрузке форм - в контрол.
зы. Одна на всех ...
BrykAlien
Дата: 17.12.2011 17:25:26
Или храни дефолтную в таблице и загружай по мере необходимости...
samosyn
Дата: 17.12.2011 22:13:33
Оба варианта интересны, но не вполне понимаю (особенно первый, с "загрузкой на старте") как это реализовать технически.. Это первое мое приложение на VBA в общем, если честно =) Если можете привести примеры такого использования, или где почитать подскажете, буду благодарен.
nord-woolf
Дата: 18.12.2011 00:12:15
Пример лайт:
samosyn
Дата: 19.12.2011 12:18:24
nord-woolf,
Круто =) Спасибо большое!