Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Удаление записей в субформе / 8 сообщений из 8, страница 1 из 1
27.06.2003, 15:15
    #32193834
cab
cab
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей в субформе
Из субформы нужно включать или отключать кнопку удаления записей на главной форме (кнопка находится под субформой), в зависимости от того, имеются ли связанные записи в другой субформе на этой же главной форме.

Как сделать это очень надежно, с учетом того, что с программой работают несколько пользователей одновременно?

Если кто-то делал подобное, то просьба поделится опытом.

Если изложение выше непонятно, то привожу его таким образом:

Есть главная форма Форма1 и на ней две субформы: Субформа1 и Субформа2 .
Субформа1 связана с главной формой.

Субформа2 связана с Субформой1 через LinkMasterField и LinkChildField.

Как в Субформе1 в событии OnCurrent узнать, что в Субформе2 есть связанные записи.
...
Рейтинг: 0 / 0
27.06.2003, 15:25
    #32193854
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей в субформе
а если через recordsetclone открыть рекордсет этой Субформы и
посмотреть есть ли в ней записи?
...
Рейтинг: 0 / 0
27.06.2003, 15:30
    #32193861
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей в субформе
> Субформа2 связана с Субформой1 через LinkMasterField и LinkChildField.

Это не ошибка? Именно с Субформой1, а не с главной формой?
...
Рейтинг: 0 / 0
27.06.2003, 15:55
    #32193892
cab
cab
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей в субформе
Немного уточню свой вопрос (забыл сказать об уровне вложенности форм):

Есть ГлавнаяФорма с закладками.
На ГлавнойФорме на первой закладке находится Субформа.
В этой субформе находятся две субформы ( Субформа1 и Субформа2 ), о которых и идет речь.

Субформа2 связана с Субформой1
через LinkMasterField и LinkChildField (значения этих свойства я устанавливаю для Субформа2 ).


Далее в событии OnCurrent ( Субформой1 ) я пишу так


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Form_Current()

Dim rst As DAO.Recordset
Set rst = Forms![frm_КонтейнерыНаличиеСведения1]![СведенияОКонтейнере]![ПерегрузкаВКонтейнер].Form.RecordsetClone
                
If rst.BOF = False And rst.EOF = False Then
Me.Parent.Кнопка50.Enabled = False
End If
                
rst.Close
Set rst = Nothing
End Sub


И на строке:

Код: plaintext
Set rst = Forms![frm_КонтейнерыНаличиеСведения1]![СведенияОКонтейнере]![ПерегрузкаВКонтейнер].Form.RecordsetClone


вылетает вот такое сообщение об ошибке:

Код: plaintext
1.
Run-Time error '2455'
Введенное выражение содержит недопустимую ссылку на свойство  "Form/Report" 


Но странное дело, что когда я заменяю выражение

[ПерегрузкаВКонтейнер] ( это Субформа2 ) на

[ГрузВКонтейнере] (это Субформа1 , а именно в этой субформе работает весь этот код),

то весь код выполняется успешно.

В чем тут дело?
...
Рейтинг: 0 / 0
27.06.2003, 15:57
    #32193896
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей в субформе
Поставь OnCurrent в SubForm2 и оттуда управляй энейблом кнопки на SubForm1, если конечно это тебя устроит
...
Рейтинг: 0 / 0
27.06.2003, 16:26
    #32193936
cab
cab
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей в субформе
Спасибо Sfagnum.

Поставь OnCurrent в SubForm2 и оттуда управляй энейблом кнопки на SubForm1, если конечно это тебя устроит

Эта ваша идея хорошая.

Но как быть если событие OnCurrent в SubForm1, также управляет кнопкой удаления в зависимости от своих условий.

В моем случае получается, что событие OnCurrent в SubForm1 отменяет действие события OnCurrent в SubForm2. Можно ли как то влиять на очередность вызова этих событий?
...
Рейтинг: 0 / 0
27.06.2003, 16:32
    #32193950
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей в субформе
количество записей в подформе
[пф Траты].Form.RecordsetClone.RecordCount

и вообче:
у тебя что? связей между
таблами нет?
естли б была связь
то хрен бы ты удалил
...
Рейтинг: 0 / 0
27.06.2003, 16:38
    #32193960
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей в субформе
Ну очерёдность... хрен её знает я б проверил MsgBox'ами откуда вперёд срабатывает

Как вариант на SubForm2 напиши функцию по подсчёту записей и вызывай её из SubForm1
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Удаление записей в субформе / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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