powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите розобраться с уловием if then...
51 сообщений из 51, показаны все 3 страниц
помогите розобраться с уловием if then...
    #32718955
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверно я как дрова.
Вот такой у меня код :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Private Sub СведенияВладелец_Click()
On Error GoTo Err_СведенияВладелец_Click

    Dim stDocName As String
    Dim stLinkCriteria As String
    
   
    stDocName = ChrW( 1042 ) & ChrW( 1083 ) & ChrW( 1072 ) & ChrW( 1076 ) & ChrW( 1077 ) & ChrW( 1083 ) & ChrW( 1077 ) & ChrW( 1094 )
     stLinkCriteria = "[КВ]=" & Forms![Месторождения_ввод]![подчиненная форма Лицензия].Form![Владелец]
       If stLinkCriteria = "" Then
     DoCmd.OpenForm "Владелец"
     Else
      DoCmd.OpenForm stDocName, , , stLinkCriteria
    
       End If
Exit_СведенияВладелец_Click:
    Exit Sub

Err_СведенияВладелец_Click:
    MsgBox Err.Description
    Resume Exit_СведенияВладелец_Click
    
End Sub
Суть в том, что бы при наличии в поле владельца (в подчинённой форме) форма Владелец открывалась с этой записью, а при отсутствии....просто открывалась.
Не работает. Говорит "Введенное выражение не содержит значения"
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32718983
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
If isnull(Forms![Месторождения_ввод]![подчиненная форма Лицензия].Form![Владелец]) Then
DoCmd.OpenForm stDocName
Else
DoCmd.OpenForm stDocName, , , "[КВ]=" & Forms![Месторождения_ввод]![подчиненная форма Лицензия].Form![Владелец]
End If
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32718997
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот эта строка
stLinkCriteria = "[КВ]=" & Forms![Месторождения_ввод]![подчиненная форма Лицензия].Form![Владелец]

если владелец пуст
то
stLinkCriteria = "[КВ]="

если не пуст
stLinkCriteria = "[КВ]=ля-ля"

т.е. у тебя получается , что переменная stLinkCriteria НИКОГДА не бывает равной ""

поэтому на условие IF всегда выполняется
DoCmd.OpenForm stDocName, , , stLinkCriteria
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719005
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
эх ВС, ВС
не дал человеку подумать
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719017
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
Вот только насчет "" я не очень понял - я вроде смотрел в окошке перменных - когда нет Владельца она именно "".
Вообщем вроде понял, но не до конца
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719020
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ищэх ВС, ВС
не дал человеку подумать
Каюсь! :^)
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719023
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vearlenВот только насчет "" я не очень понял - я вроде смотрел в окошке перменных - когда нет Владельца она именно "".
Не верю.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719031
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
щас еще раз посмотрю - внимательно.
посмотрел - действительно - могу print screen сделать.
Мне просто самому интересно же ж понять....
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719043
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч vearlenВот только насчет "" я не очень понял - я вроде смотрел в окошке перменных - когда нет Владельца она именно "".
Не верю.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719050
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Блин. Мы в отладчике или где?

Ну так ошибка же произошла. Программа ушла на обработку ошибки. А переменная не успела получить никакого значения. И форма уже не откроется, потому что на команду открывания формы программа уже не вернется.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719055
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычБлин. Мы в отладчике или где?

Ну так ошибка же произошла. Программа ушла на обработку ошибки. А переменная не успела получить никакого значения. И форма уже не откроется, потому что на команду открывания формы программа уже не вернется.
Ну во-первых япредупреждал - что "как дрова".
А во вторых - как я как "обычный" пользователь тогда должен понять, что вызвало ошибку - если Владимир Санычпеременная не успела получить никакого значения ( я ж это и указал в условии).
...туплю наверно
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719061
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vearlenкак я как "обычный" пользователь тогда должен понять, что вызвало ошибку
Обычный пользователь этого понимать не должен. А программист должен довести отладку до конца, устранить баги, ну типа как большой. Тогда у пользователя этих ошибок не будет.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719068
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а еще...можно спросить...я наверно чего-то не так сделал.
Написал как было рекомендовано...
Код: plaintext
1.
2.
3.
4.
If IsNull("[КВ]=" & Forms![Месторождения_ввод]![подчиненная форма Лицензия].Form![Владелец]) Then
        DoCmd.OpenForm stDocName
Else

        DoCmd.OpenForm stDocName, , , "[КВ]=" & Forms![Месторождения_ввод]![подчиненная форма Лицензия].Form![Владелец]
и ни фига....
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719086
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vearlenНаписал как было рекомендовано...
Рекомендовано было не так. В первой строке "[КВ]=" & лишнее.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719098
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и ни фига.... все равно
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719107
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я пас. Я не умею отлаживать программу на расстоянии. По телефону отлаживал, но мне человек говорил, на какую строку программа заходит и чему равны значения переменных. Телепатически - нет, не умею, сдаюсь.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719116
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в окошке проекта не вижу формы с названием "Лицензия". Поскольку контрол Subform в главной форме имеет название [подчиненная форма Лицензия], то подозреваю, что форма с похожим названием должна быть. Правда, окно не до конца прокручено
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719123
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛифчикЯ в окошке проекта не вижу формы с названием "Лицензия". Поскольку контрол Subform в главной форме имеет название [подчиненная форма Лицензия], то подозреваю, что форма с похожим названием должна быть. Правда, окно не до конца прокручено
а такой формы и нет :( я не понял почему должна быть форма с названием Лицензия.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719129
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Хотя вопрос Лифчика не совсем корректен, я с ним (с вопросом и с Лифчиком) согласен. В контроле "подчиненная форма Лицензия" какая форма находится?
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719134
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там находится "подчиненная форма Лицензия" - она так называется. (
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719145
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В основной форме [Месторождения_ввод] находится подчинённая, созданная мастером и т.д... и называется она подчин...Лицензия, потому, что сделана на основе таблицы Лицензия. я беру из подчинённой значение КВ (код владельца) и открываю форму Владелец.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719148
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А. С вопросом Лифчика все понятно. Лифчик, у этой формы нет модуля, поэтому мы ее тут не видим.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719160
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда можно узнать, как называется контрол в котором расположена подчиненная форма лицензия, у которой нет модуля и поэтому ее не видно в окне проэкта :)
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719165
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Боюсь проявить свою полную некомпетентность, но контрол ....в котором расположена подчинённая форма лицензия по-моему называется подчин...форма лицензия :(
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719169
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Предлагаю добавить в окошко наблюдаемых переменных следующую штуку:

Forms![Месторождения_ввод]![подчиненная форма Лицензия].Form![Владелец]
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719175
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне такая мысль приходила :( вот только как - я не знаю :(
или знаю - нужно еще одну написать переменную и просто ей присвоить значение да ?
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719177
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня в англицкой версии контролы подчиненных форм, если их специально не обзывать, называются Child<числовой индекс>. Не знаю, как это будет по-русски :)
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719185
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не обязательно выдавать, можно в дизайн-режиме в форме мышью контрол выделить и посмотреть в левом верхнем углу панели инструментов, как он называется. Или правой кнопкой найти свойство Имя контрола (типа подчиненная форма)
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719189
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот сделал (переменную) при нормальной работе вот так.
А про Child - а где это смотреть ? (извините :(
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719192
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vearlenмне такая мысль приходила :( вот только как - я не знаю :(
Так же, как и все остальные. Остальные кто туда заносил?
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719194
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛифчикДа не обязательно выдавать, можно в дизайн-режиме в форме мышью контрол выделить и посмотреть в левом верхнем углу панели инструментов, как он называется. Или правой кнопкой найти свойство Имя контрола (типа подчиненная форма)
Я уже ничего не понимаю :( подчиненная форма Лицензия он называется.
Это я так назвал.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719197
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ага. Вижу, вижу, вижу... Переменную заводить было не обязательно, ну да не суть. Вижу, что что-то изменилось. На этот раз stLinkCriteria выглядит как "[КВ]=35". Вроде все в порядке, должно сработать?
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719199
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так это работает когда все нормально, т.е. когда в подч. форме есть что-то в поле Владелец.
а когда там пусто - то не открывается
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719202
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это ты так подформу назвал, а Контрол наверняка по-другому называется. Вот смотри на рисунке подформа DealList4, а контрол Child16 называется (левый верхний угол)
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719205
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, молчу, а то с толку собью, сам уже запутался
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719208
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719214
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vearlenТак это работает когда все нормально, т.е. когда в подч. форме есть что-то в поле Владелец.
а когда там пусто - то не открывается
Тогда еще один блин. Я-то просил значение выражения на тот случай, когда не работает.

Только License надо переописать как Variant, а то оно Null не примет.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719219
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну да... я не подумал.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719230
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Yes! Есть ответ. Окончательная версия:

If isempty(License) Then
DoCmd.OpenForm stDocName
elseIf isnull(License) Then
DoCmd.OpenForm stDocName
Else
DoCmd.OpenForm stDocName, , , "[КВ]=" & License
End If
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719232
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эх.
значит так просиходит попробую объяснить подробно. если коротко - не работает.
значит если license как на картинке стоит первым - то вообще после того как до него доходит дело - дальше идёт обрабатываться ошибка - т.е. Msgbox
если же license поставить в конец (т.е. третим по счёту) то когда дело доходит до st LinkCriteria msgBox - вот такая вот загогулина.
Мне вот такая мысль пришла(умозрительная) - форма же связана с таблицей, так может дело в значении по умолчанию в таблице ( Null или еще чего)
Ячейка тип данных числовой, знач по умочанию пусто тип - поле со списком, формируется из запроса.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719242
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Тогда я возвращаюсь к тому, что я писал раньше.

Владимир СанычПредлагаю добавить в окошко наблюдаемых переменных следующую штуку:

Forms![Месторождения_ввод]![подчиненная форма Лицензия].Form![Владелец]
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32719339
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно нескромный вопрос - а что это за приложение? Уж больно я насмотрелся вариаций на эту тему, да и сам писал.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32720141
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычТогда я возвращаюсь к тому, что я писал раньше.

Владимир СанычПредлагаю добавить в окошко наблюдаемых переменных следующую штуку:

Forms![Месторождения_ввод]![подчиненная форма Лицензия].Form![Владелец]
так я же вроде так обозвал переменную License (или я чего-то не так понимаю)
А по поводу что за приложение ? в смысле приложение ? - база данных о чем или форма ?
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32720572
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vearlenтак я же вроде так обозвал переменную License (или я чего-то не так понимаю)
Предлагаю добавить в окошко наблюдаемых переменных то, что я написал. А не описывать переменную и добавлять в окошко ее.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32720589
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч vearlenмне такая мысль приходила :( вот только как - я не знаю :(
Так же, как и все остальные. Остальные кто туда заносил?
появление остальных там, не требует дополнительных усилий (знаний) нужно всего лишь показать окошко Locals
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32720659
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Гм... Действительно. Это окошко Locals. Тогда прошу прощения и диктую. В окошке Watches (а не Locals) делаем правый клик, выбираем Add Watch, появляется окно диалога, там в строку Expression вставляем вот это:

Forms![Месторождения_ввод]![подчиненная форма Лицензия].Form![Владелец]

и нажимаем на Enter.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32720661
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vearlenА по поводу что за приложение ? в смысле приложение ? - база данных о чем или форма ?
База. Очень близкая предметная область.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32720677
vearlen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал. Когда в подчин форме в поле владелец что-то есть - пишет число (КВ-соответсвенно), а когда ничего нет - то пусто. Или надо что-то особенное посмотреть ?
Alexander G База. Очень близкая предметная область.
База содержит информацию о месторождениях, их местонахождении, типе и пр. и пр. и о владельцах! и их лицензиях :)
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32720720
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vearlenа когда ничего нет - то пусто.
О! Это то, что я хотел узнать. Очень странный результат, однако... У меня пока идей нет.
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32720801
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычYes! Есть ответ. Окончательная версия:

If isempty(License) Then
DoCmd.OpenForm stDocName
elseIf isnull(License) Then
DoCmd.OpenForm stDocName
Else
DoCmd.OpenForm stDocName, , , "[КВ]=" & License
End If

Это типа - чисто к ВС

Логический оператор OR уже не в силе?
Код: plaintext
1.
2.
3.
4.
If isempty(License) Or isnull(License) Then
DoCmd.OpenForm stDocName
Else
DoCmd.OpenForm stDocName, , , "[КВ]=" & License
End If
...
Рейтинг: 0 / 0
помогите розобраться с уловием if then...
    #32720933
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
paparomeЭто типа - чисто к ВС

Логический оператор OR уже не в силе?
Проблема в том, что isnull выдает ошибку. Значит, надо перехватить этот случай и ответвиться раньше, чем начнет вычисляться isnull. Другое дело, что я собирался это делать при помощи isempty, а оно не помогло.
...
Рейтинг: 0 / 0
51 сообщений из 51, показаны все 3 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите розобраться с уловием if then...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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