Контроллер несвязанного объекта OLE - Изменение изображения через VBA - Microsoft Office Access - PullRequest
1 голос
/ 11 июня 2011

У меня есть таблица, в этой таблице у меня есть пользователи что-то вроде этого:

id   username    name    password     picture

Теперь у меня есть форма, в которой я хочу показать картинку в несвязанном объекте Ole. Моя ситуация требует использования несвязанного объекта, поэтому не говорите мне о связанных решениях.

Хорошо, теперь мне нужно изменить значение этого, когда что-то происходит - я могу получить изображение из своей таблицы, используя DLookup (), но я не знаю, как поместить значение в контроллер с VBA ... .Какое свойство я использую?

Спасибо, Fingerman.

1 Ответ

2 голосов
/ 11 июня 2011

Я подозреваю, что вы хотите сделать, это невозможно.Каждая попытка изменить значение несвязанного элемента управления OLE приводит к ошибке 2774: «Компонент не поддерживает автоматизацию».Поэтому я думаю, что это должен быть связанный элемент управления, если вы хотите использовать с ним автоматизацию.Единственная другая возможность, о которой я могу подумать, - это снова открыть форму в режиме конструктора (с VBA);возможно, тогда вы могли бы найти способ изменить это.

Тем не менее, я никогда не пытался это сделать раньше.При отображении изображения в форме я использую элемент управления Image вместо элемента OLE.По словам Microsoft, контроль изображений работает быстрее для изображений.

Кроме того, я не храню фактическое изображение в таблице.Вместо этого я сохраняю путь к изображению в файловой системе.Это внешнее изображение легко назначить для управления изображениями из VBA.До Access 2007 хранение изображений в базе данных было заведомо неэффективным.Предположительно, начиная с 2007 года, существует более новый доступный метод, который является менее неэффективным, но я все еще не использую его.

...