Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вывести данные в subForm из Collection (MSAccess 2003) / 9 сообщений из 9, страница 1 из 1
05.05.2009, 17:27
    #35970089
IvaZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести данные в subForm из Collection (MSAccess 2003)
Извините за глупый вопрос, к сожалению, я новичек в VBA for Access. У меня есть проблема:
Выбрал данные из БД и поместил их в коллекцию объектов. Мне необходимо вывести эту коллекцию в subForm (которая в свою очередь загружается в MainForm). Подскажите, пожалуйста, как это можно сделать.
На текущий момент subForm у меня выглядит следующим образом: есть Заголовок формы в котором есть dropDown. Его я смог заполнить и код выглядит так:
Код: plaintext
1.
2.
3.
    itemCount = gvCategories.Count
    For i =  1  To itemCount
        Me.ComboByCategory.AddItem Item:=gvCategories(i).ID & " ; " & gvCategories(i).NAME
    Next
Где gvCategories это коллекция объектов
А вот Область данных формы я не могу заполнить :( Просвятите, пожалуйста
...
Рейтинг: 0 / 0
05.05.2009, 17:30
    #35970098
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести данные в subForm из Collection (MSAccess 2003)
сначала создайте объект ADODB.Recordset с нужным кол-вом полей, потом заполните егго в цикле значениями из своей коллеции , потом присвойте этот рекордсет DataSource вашей формы.
...
Рейтинг: 0 / 0
05.05.2009, 18:06
    #35970240
IvaZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести данные в subForm из Collection (MSAccess 2003)
Konst_One,

Спасибо огромное за Ваш ответ. Если я Вас правильно понял, то мне надо сделать нечто подобное:
Код: plaintext
1.
2.
3.
4.
5.
6.
Dim rs As Recordset
Set rs = New ADODB.Recordset    

For i =  1  To itemCount
    rs.AddNew CODE, gvModels(i).CODE
Next
Но к сожалению, я не нашел свойства DataSource у формы. Есть RecordSource но туда обычно присваивается sql запорос. Подскажите, пожалуйста, как жить дальше.
...
Рейтинг: 0 / 0
06.05.2009, 14:52
    #35972045
IvaZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести данные в subForm из Collection (MSAccess 2003)
Может быть мне надо использовать Grid? дайте плих кусок кода как заполнить его и отслеживать все изменения. К сожалению ничего не могу найти http://www.sql.ru/forum/images/cry.gif
...
Рейтинг: 0 / 0
06.05.2009, 14:59
    #35972065
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести данные в subForm из Collection (MSAccess 2003)
в вашей форме
Код: plaintext
Set me.Recordset=rs
...
Рейтинг: 0 / 0
06.05.2009, 15:00
    #35972067
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести данные в subForm из Collection (MSAccess 2003)
из справки access 2007:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Global rstSuppliers As ADODB.Recordset
Sub MakeRW()     
    DoCmd.OpenForm "Suppliers"
    Set rstSuppliers = New ADODB.Recordset
    rstSuppliers.CursorLocation = adUseClient
    rstSuppliers.Open "Select * From Suppliers", _
         CurrentProject.Connection, adOpenKeyset, adLockOptimistic     
    Set Forms("Suppliers").Recordset = rstSuppliers
End Sub 
...
Рейтинг: 0 / 0
06.05.2009, 16:30
    #35972416
IvaZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести данные в subForm из Collection (MSAccess 2003)
Konst_One,

Огромное спасибо за Ваш ответ. Думаю то, что надо. Но к сожалению, не могу проверить. У меня не выводятся данные если subForm открыта для редактирования в редакторе кода. То есть если запускаешь проект и сразу выводишь данные, то все ок. А вот если запускаешь проект, открываешь форму для редактирования в редакторе, ставишь точки прерывания и пытаешься дебажить, то форма с данными абсолютно пустая. Приходится закрывать Access далее открывать его снова и запускать проект чтобы проверить предыдущие изменения. :( Вы не сталкивались с подобным?
...
Рейтинг: 0 / 0
06.05.2009, 16:33
    #35972428
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести данные в subForm из Collection (MSAccess 2003)
в режиме редактора форм вы не сможете присвоить рекодсет своей рабочей форме, так как она в другом режиме. отлаживайтесь методом логирования действий в файл или таблицу логов.
...
Рейтинг: 0 / 0
06.05.2009, 16:39
    #35972451
IvaZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести данные в subForm из Collection (MSAccess 2003)
Низкий поклон и спасибо за квалифицированный ответ
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вывести данные в subForm из Collection (MSAccess 2003) / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]