От Creating An ActiveX Control That Is A Data Source:
- Создать новый проект управления ActiveX.
- Задайте ссылку в проекте соответствующей библиотеке данных через меню «Проект», «Список ссылок».
- Установить свойство DataSourceBehavior UserControl в 1-vbDataSource.
- Создайте процедуры свойств для пользовательских свойств, которые программисты будут использовать для управления соединением элемента управления источником данных с данными. Как правило, вы реализуете свойства String, такие как ConnectString (строка подключения для инициализации объекта Connection) и RecordSource (строка для хранения запроса для инициализации данных в наборе записей ). Создайте частные переменные, чтобы сохранить значения каждого из свойств . Создайте частные константы, чтобы сохранить их начальные значения . Запрограммируйте InitProperties, ReadProperties и Процедуры событий WriteProperties для сохранения этих свойств.
- Если вы хотите открыть контрольный набор элементов управления для других программистов , то вы должны создать собственное имя свойства, RecordSet. Его тип будет подходящим типом Recordset, который вы планируете запрограммировать для своего контроля. Вы можете сделать это только для чтения, и в этом случае вам нужно будет только предоставить ему формулу Get . Объявите переменную частного объекта, чтобы сохранить ее значение, используя WithEvents (это предоставляет процедуры события другим программистам).
- Объявите приватную переменную соответствующего типа подключения, которая вы планируете запрограммировать для своего контроля. Он не будет соответствовать настраиваемому свойству , но это необходимо для размещения Recordset.
- Код события InitProperties, ReadProperties и WriteProperties для правильного управления и сохранения значений созданных свойств на предыдущих шагах.
- Запрограммируйте процедуру события UserControl GetDataMember до , инициализируйте набор записей и верните его во втором параметре. Вы получите либо из информации, содержащейся в пользовательских частных переменных, либо из жестко запрограммированной информации в самой процедуре события GetDataMember (см. Предыдущий раздел для примера ). Вы должны выполнить некоторую ошибку, чтобы убедиться, что у действительно есть действительное соединение.
- Поместите код в Событие Terminate для UserControl, которое будет изящно закрыть соединение для передачи данных.
- Если вы хотите, чтобы пользователи могли перемещаться по данным непосредственно с помощью , манипулируя вашим UserControl, затем установите соответствующий пользовательский интерфейс на свой UserControl вместе с кодом для перемещения по переменной Recordset.
- Ваш новый элемент управления ActiveX теперь должен быть готов к тестированию как DataSource: добавьте стандартный проект EXE в группу проектов. Теперь, убедившись, что вы закрыли конструктор для UserControl, добавьте экземпляр вашего нового элемента управления в стандартную форму EXE.
- Управлять любыми необходимыми настраиваемыми свойствами (такими как ConnectString или RecordSource), которые вы, возможно, внесли в свой собственный элемент управления.
- Поместите один или несколько элементов управления, подлежащих связыванию, в тестовый проект и установите их свойство DataSource , чтобы указать на экземпляр вашего источника данных. Управление. Установите их свойства DataField, чтобы указать поля из открытого набора записей .
Это не ms-доступ. Доступ не использует пользовательские формы vba. И что/где ваш вопрос? –