Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DLookup+IsNull - какая-то ерунда получается / 15 сообщений из 15, страница 1 из 1
09.01.2005, 21:09:48
    #32856956
Serinna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
Источником данных подчиненной формы "subfrm" является запрос на основе таблицы "subtab", в которой три поля:
Поле1 - это индекс
Поле2 - связь с главной таблицей
Поле3 - собственно данные.

В подчиненной форме (ленточная) "subfrm" на событие "Текущая запись" прикручена следующая инструкция:

Код: plaintext
1.
2.
3.
4.
5.
6.
If Not IsNull (DLookup("Поле3", "subtab", "[Поле2] = Forms![Поле2]")) Then
Me.Letter1.Visible=True
Me.Letter2.Visible=False
Else
Me.Letter1.Visible=False
Me.Letter2.Visible=True
End if
То есть, если в подчиненной форме нет записей, выводится одна надпись, если записи есть, выводится другая надпись.
Вроде и ошибка не выдается, но при работе через главную форму Леттеры в subfrm делают что хотят.
Попробовал другое условие:
Код: plaintext
If Nz(DLookup("Поле3", "subtab", "[Поле2] = Forms![Поле2]"),  0 ) <>  0  Then
И еще кучу других условий на другие события. Но в результате - непредсказуемое поведение Леттеров.
Подскажите кого нужно победить и как.
...
Рейтинг: 0 / 0
09.01.2005, 21:13:54
    #32856959
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
А Requery делать не пытался?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
If Not IsNull (DLookup("Поле3", "subtab", "[Поле2] = Forms![Поле2]")) Then
Me.Letter1.Visible=True
Me.Letter2.Visible=False
Requery
Else
Me.Letter1.Visible=False
Me.Letter2.Visible=True
Requery
End if
...
Рейтинг: 0 / 0
09.01.2005, 21:21:23
    #32856965
Serinna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
DafА Requery делать не пытался?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
If Not IsNull (DLookup("Поле3", "subtab", "[Поле2] = Forms![Поле2]")) Then
Me.Letter1.Visible=True
Me.Letter2.Visible=False
Requery
Else
Me.Letter1.Visible=False
Me.Letter2.Visible=True
Requery
End if

Уже попытался.
Результат прежний
...
Рейтинг: 0 / 0
09.01.2005, 21:34:21
    #32856973
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
А если ввести переменную и ей присваивать значения Dlookup. А уж потом переменную проверять на isnull?
...
Рейтинг: 0 / 0
09.01.2005, 21:38:21
    #32856976
Serinna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
DafА если ввести переменную и ей присваивать значения Dlookup. А уж потом переменную проверять на isnull?
Забыл сказать, что пробовал и через переменную.
Видимо эти Dlookup'ы издеваются!
...
Рейтинг: 0 / 0
09.01.2005, 21:40:06
    #32856977
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
А почему на событии текущей записи?
...
Рейтинг: 0 / 0
09.01.2005, 21:41:10
    #32856978
Serinna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
DafА почему на событии текущей записи?
Извиняюсь спросить - А на какое событие?
...
Рейтинг: 0 / 0
09.01.2005, 21:45:01
    #32856979
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
автор...на событие "Текущая запись" прикручена следующая инструкция:
...
Рейтинг: 0 / 0
09.01.2005, 21:50:34
    #32856982
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
смущает "[Поле2] = Forms![Поле2]"
...
Рейтинг: 0 / 0
09.01.2005, 21:56:26
    #32856986
Serinna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
Alexey Shсмущает "[Поле2] = Forms![Поле2]"
В принципе и без этого - результат не ожидаемый :(
...
Рейтинг: 0 / 0
09.01.2005, 22:02:47
    #32856989
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
Выложи сюда свою форму, если возможно. Посмотрим ...
...
Рейтинг: 0 / 0
09.01.2005, 22:35:28
    #32857001
Serinna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
DafВыложи сюда свою форму, если возможно. Посмотрим ...
Собственно вот...
...
Рейтинг: 0 / 0
09.01.2005, 23:18:41
    #32857019
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
Current на пустую выборку данных не вызывается. Поэтому у вас срабатывает всегда первая ветка кода в подчиненной форме.

Я бы сделал такое поле в главной форме и сделал в ней проверку DCount по подчиненной таблице = 0.

Не включать PK в подчиненную форму не рекомендуется.
...
Рейтинг: 0 / 0
10.01.2005, 00:02:16
    #32857035
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
Вот посмотри. Вроде работает ...
...
Рейтинг: 0 / 0
10.01.2005, 10:18:38
    #32857211
Serinna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLookup+IsNull - какая-то ерунда получается
DafВот посмотри. Вроде работает ...
Спасибо. Действительно, работает.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DLookup+IsNull - какая-то ерунда получается / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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