0 / 0 / 0
Регистрация: 23.10.2007
Сообщений: 70
|
|
1 | |
DataGrid и подчинённая форма Access14.08.2008, 13:50. Показов 1418. Ответов 7
Метки нет (Все метки)
Люди, как связать грамотно два датагрида, симитировав подчинёную форму аксеса? Или лучше и проще найти готовый акивыкс в сети? Если кто делал можно пример кода?
0
|
14.08.2008, 13:50 | |
Ответы с готовыми решениями:
7
Подчинённая форма в Access Подчиненная форма с параметрами MS Access 2007 ACCESS Подчиненная форма через VBA Форма навигации и подчиненная форма |
0 / 0 / 1
Регистрация: 21.07.2008
Сообщений: 120
|
|
14.08.2008, 14:01 | 2 |
Проще всего использовать Data Enviropment, он позволяет визуально создавать иерархическую структуру данных в приложении.
0
|
0 / 0 / 0
Регистрация: 23.10.2007
Сообщений: 70
|
|
14.08.2008, 16:01 [ТС] | 3 |
С возможностью добавления данных слева и справа? Не уверен.
0
|
0 / 0 / 1
Регистрация: 21.07.2008
Сообщений: 120
|
|
14.08.2008, 16:24 | 4 |
Может быть мы друг друга не допонимаем? Я понял так, что есть необходимость создать на Форме1 Датагрид1 и Датагрид2. В базе есть Таблица1 и Таблица2, Таблица1 содержит значение ключа, Таблица2 подчинена ей в связи один-ко-многим. Если так то создаем в Датаэнвиропмент коннект, цепляем к нему Команду1 (содержащую данные Таблицы1) и подчиненную ей Команду2 (содержащую значения Таблицы2). Теперь в Датагрид1 ставим Датасоурч = Датаенвиропмент, Датамембер=Команде1, то же делаем и для Датагрида2 (используя, конечно, в Датамембер значение Команда2). Теперь когда мы перемещаемся по записям Датагрид1, Датагрид2 автоматически (без всякого кода) будет отображать подчиненные, конкретной записи Таблицы1 записи из Таблицы2.
0
|
0 / 0 / 0
Регистрация: 23.10.2007
Сообщений: 70
|
|
14.08.2008, 18:08 [ТС] | 5 |
Да, всё правильно. Спасибо за ответ.
У меня только какие-то проблемы с добавлением новой записи. Когда в главную таблицу добавляешь запись, а потом сразу перескакиваешь в подчинённую, то видимо, не обновляется источник у подчинённой,id=0 и соотв. ошибка..
0
|
0 / 0 / 1
Регистрация: 21.07.2008
Сообщений: 120
|
|
17.08.2008, 10:26 | 6 |
Эти проблемы описаны в MSDN. Для их решения надо делать следующее:
' после добавления записей Рекордсет1.Requery Рекордсет2.Requery x=Рекордсет1!КлючевоеПоле Set Датагрид1.DataSource=Название Датаэнвиропмент Датагрид1.DataSource=Название Команды1 Датагрид1.Refresh Рекордсет1.Find 'КлючевоеПоле=' & x Set Датагрид2.DataSource=Название Датаэнвиропмент Датагрид2.DataSource=Название Команды2 Датагрид2.Refresh
0
|
0 / 0 / 0
Регистрация: 23.10.2007
Сообщений: 70
|
|
17.08.2008, 18:01 [ТС] | 7 |
Спасибо большое за ответ!
0
|
0 / 0 / 0
Регистрация: 23.10.2007
Сообщений: 70
|
|
24.08.2008, 13:13 [ТС] | 8 |
В чём у меня ошибка не пойму...
Код
Private Sub DataGrid1_AfterUpdate() DataEnvironment1.rsCommand1.MoveLast x = DataEnvironment1.rsCommand1!QID Set DataGrid1.DataSource = DataEnvironment1 DataGrid1.DataMember = Command1 DataGrid1.Refresh DataEnvironment1.Recordsets(1).Find 'QID=' & x Set DataGrid2.DataSource = DataEnvironment1 DataGrid2.DataMember = Command2 DataGrid2.Refresh End Sub
0
|
24.08.2008, 13:13 | |
24.08.2008, 13:13 | |
Помогаю со студенческими работами здесь
8
Подчинённая форма Подчиненная форма Подчиненная форма Подчиненная форма Подчинённая форма Подчиненная форма Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |