Принудительное обновление запросов.

vad-anatolij
Дата: 14.11.2009 21:01:45
Повесил проверку на Форму1:

Private Sub Form_BeforeUpdate(Cancel As Integer)

    If DCount("[ПолеЗапроса1]", "Запрос1") > 0 Then
        If (DCount("[Поле1Запроса2]", "Запрос2") = DSum("[Поле2Запроса2]", "Запрос2")) = False Then
        MsgBox "Нельзя ...."
        Cancel = True
        End If
    End If
End If
End Sub

Где в Запросе1 используются данные поля1 Формы1 и Запрос2- производный от Запроса1 (Хотя это, наверно, не имеет значения).

При замене данных в поле1 Формы ожидаю что Запросы пересчитаются и получу сообщение "Нельзя...", но запросы не пересчитываются.
Добавил обновление поля:
Forms![Форма1]![Поле1].Requery
Акс выдает что "Объектом не поддерживается это свойство или метод"
Видимо все таки надо принудительно обновить запросы? Как победить эту проблему.
Спасибо.
Владимир Саныч
Дата: 14.11.2009 21:04:55
Попробуйте обратиться к свойству
поле1.Text
Оно содержит тот текст, который введен юзером, но еще не попал в настоящие данные. Правда, надо, чтобы это поле было в фокусе, иначе к этому свойству доступа нет.
vad-anatolij
Дата: 23.11.2009 22:15:11
Владимир Саныч,
Спасибо за подсказку. Использовал свойство текст и перевесил проверку с формы1 на свойство поля1 BeforeUpdate.Все работает.