Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как программно создать.... элемент управления 
:(
    Опции темы
Stas
  Дата 6.6.2002, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 3.6.2002

Репутация: нет
Всего: нет



Как програмно (то есть кодом) создать объект например - adods?
PM MAIL   Вверх
cardinal
Дата 7.6.2002, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



посмотри тут

Как ти видиш проблема ета у меня уше пару месязев имеетса, но так как пока не оченж надо било, я ничего не cделал.
Короче тебе повезло - я как раз вчера с аетои фишкои разбиралса и за 6 часов у меня появилса неболжшои резултат. У меня код сеичас не с собои (позше пошлу).
а вообше смотри "исползование class module"

:cool


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
cardinal
Дата 9.6.2002, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Короче делается так:
Ты должен создать в своем проекте модуль класса под названием CCustData со свойствами DataBindingsBehaviour - 0 и DataSourceBehaviour - 1, содержание которого след.

Код
Option Explicit

' References ADO 2.0
Private cn As Connection
Private mrsCustomer As ADODB.Recordset

Private Sub Class_Initialize()
       Set cn = New ADODB.Connection
   cn.Provider = "Microsoft.Jet.OLEDB.3.51"
   cn.Open "C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb"
   Set mrsCustomer = New ADODB.Recordset
   mrsCustomer.CursorType = adOpenKeyset
   mrsCustomer.LockType = adLockOptimistic
   mrsCustomer.ActiveConnection = cn
   mrsCustomer.Open "Customers"
   'mrsCustomer.MoveLast
   DataMembers.Add "Name"
End Sub

Private Sub Class_GetDataMember(DataMember As String, Data As Object)
   Select Case DataMember
       Case ""
           Set Data = Nothing
       Case "Name"
           Set Data = mrsCustomer
       Case Else
           ' Raise an error here
   End Select
End Sub

Public Sub MoveFirst()
   mrsCustomer.MoveFirst
End Sub

Public Sub MoveLast()
   mrsCustomer.MoveLast
End Sub

Public Sub MoveNext()
   mrsCustomer.MoveNext
   If mrsCustomer.EOF Then
       mrsCustomer.MoveLast
   End If
End Sub

Public Sub MovePrevious()
   mrsCustomer.MovePrevious
   If mrsCustomer.BOF Then
       mrsCustomer.MoveFirst
   End If
End Sub

Private Sub Class_Terminate()
   mrsCustomer.Close
   Set mrsCustomer = Nothing
End Sub


Потом помести в модуль формы след. код:

Код
Option Explicit
Private mCustData As CCustData

Private Sub Form_Load()
'On Error Resume Next
   ' Create the data source object
   '
   Set mCustData = New CCustData
   
   ' Bind the object to grid
   Set DataGrid1.DataSource = mCustData
   'DataGrid1.Refresh
   DataGrid1.DataMember = "Name"
'    If Err Then
'    Err.Clear
'   End If
End Sub

Private Sub cmdFirst_Click()
   mCustData.MoveFirst
End Sub

Private Sub cmdLast_Click()
   mCustData.MoveLast
End Sub

Private Sub cmdNext_Click()
   mCustData.MoveNext
End Sub

Private Sub cmdPrevious_Click()
   mCustData.MovePrevious
End Sub

Private Sub Form_Unload(Cancel As Integer)
   Set mCustData = Nothing
End Sub


На форме у тебя должны сидеть:
один DataGrid с названием DataGrid1;
четыре CommanButton`а с названиями cmdFirst, cmdLast, cmdNext, cmdPrevious.

Вся фигня как ты видишь под ADO работает, если ты перестроишь под DAO (причем я так и не понял пока можно это сделать или нет), то я буду тебе очень благодарен. Мне самому надо DAO просто, но так как в книгах больше всего про ADO написано, то я сначала сделал его.
Вообще в VB 5 такого сделать вообще нельзя (по крайней мере это говорят книги).

Вот так вот.           :)


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.