2014-09-04 3 views
-1

Как добавить свойства DataSource и DataField в элемент управления ActiveX?Предоставление данных свойств DataField и DataSource в VB6 (ActiveX Control)

Мой UserControl:

http://s5.picofile.com/file/8138879442/1.png
http://s5.picofile.com/file/8138880934/2.png

+0

Это не ms-доступ. Доступ не использует пользовательские формы vba. И что/где ваш вопрос? –

ответ

1

От Creating An ActiveX Control That Is A Data Source:

  1. Создать новый проект управления ActiveX.
  2. Задайте ссылку в проекте соответствующей библиотеке данных через меню «Проект», «Список ссылок».
  3. Установить свойство DataSourceBehavior UserControl в 1-vbDataSource.
  4. Создайте процедуры свойств для пользовательских свойств, которые программисты будут использовать для управления соединением элемента управления источником данных с данными. Как правило, вы реализуете свойства String, такие как ConnectString (строка подключения для инициализации объекта Connection) и RecordSource (строка для хранения запроса для инициализации данных в наборе записей ). Создайте частные переменные, чтобы сохранить значения каждого из свойств . Создайте частные константы, чтобы сохранить их начальные значения . Запрограммируйте InitProperties, ReadProperties и Процедуры событий WriteProperties для сохранения этих свойств.
  5. Если вы хотите открыть контрольный набор элементов управления для других программистов , то вы должны создать собственное имя свойства, RecordSet. Его тип будет подходящим типом Recordset, который вы планируете запрограммировать для своего контроля. Вы можете сделать это только для чтения, и в этом случае вам нужно будет только предоставить ему формулу Get . Объявите переменную частного объекта, чтобы сохранить ее значение, используя WithEvents (это предоставляет процедуры события другим программистам).
  6. Объявите приватную переменную соответствующего типа подключения, которая вы планируете запрограммировать для своего контроля. Он не будет соответствовать настраиваемому свойству , но это необходимо для размещения Recordset.
  7. Код события InitProperties, ReadProperties и WriteProperties для правильного управления и сохранения значений созданных свойств на предыдущих шагах.
  8. Запрограммируйте процедуру события UserControl GetDataMember до , инициализируйте набор записей и верните его во втором параметре. Вы получите либо из информации, содержащейся в пользовательских частных переменных, либо из жестко запрограммированной информации в самой процедуре события GetDataMember (см. Предыдущий раздел для примера ). Вы должны выполнить некоторую ошибку, чтобы убедиться, что у действительно есть действительное соединение.
  9. Поместите код в Событие Terminate для UserControl, которое будет изящно закрыть соединение для передачи данных.
  10. Если вы хотите, чтобы пользователи могли перемещаться по данным непосредственно с помощью , манипулируя вашим UserControl, затем установите соответствующий пользовательский интерфейс на свой UserControl вместе с кодом для перемещения по переменной Recordset.
  11. Ваш новый элемент управления ActiveX теперь должен быть готов к тестированию как DataSource: добавьте стандартный проект EXE в группу проектов. Теперь, убедившись, что вы закрыли конструктор для UserControl, добавьте экземпляр вашего нового элемента управления в стандартную форму EXE.
  12. Управлять любыми необходимыми настраиваемыми свойствами (такими как ConnectString или RecordSource), которые вы, возможно, внесли в свой собственный элемент управления.
  13. Поместите один или несколько элементов управления, подлежащих связыванию, в тестовый проект и установите их свойство DataSource , чтобы указать на экземпляр вашего источника данных. Управление. Установите их свойства DataField, чтобы указать поля из открытого набора записей .
+0

спасибо. Я не говорю по английски. Пожалуйста, напишите код для моего примера. Мое текстовое поле - это свойство. –

+0

@HamidrezaMollaebrahimi: StackOverflow не является службой записи кода. Мой ответ суммирует, что вам нужно сделать. Ссылка наверху действительно имеет полезный код. Посмотрите, может ли translate.google.com помочь вам в переводе. –

+0

Этот процесс находится в книге (pdf). Пожалуйста, напишите небольшой пример и дайте мне ссылку на проект. Извините –

Смежные вопросы