powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / VBA & Построитель выражений
25 сообщений из 42, страница 1 из 2
VBA & Построитель выражений
    #32560708
ThuG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему, когда я навешиваю на кнопку формы через VBA следующий код:

Msgbox Nz(DLookup("[Остатки (хранение)]![Остаток (кг)]", "[Остатки (хранение)]", "Дата = DateAdd('m', 1, DateSerial(Year(Forms!Отчеты![Конец периода]), Month(Forms!Отчеты![Конец периода]), 1)) - 1"), "0")

, то при нажатии получаю значение 150 (правильное), а если навешиваю через построитель выражений следующий код:

=Nz(DLookUp("[Остатки (хранение)]![Остаток (кг)]";"[Остатки (хранение)]";Дата=DateAdd("m";1;DateSerial(Year(Forms!Отчеты![Конец периода]);Month(Forms!Отчеты![Конец периода]);1))-1);"0")

, получаю значение 0?
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560710
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThuGесли навешиваю через построитель выражений следующий код:

Код: plaintext
=Nz(DLookUp("[Остатки (хранение)]![Остаток (кг)]";"[Остатки (хранение)]";Дата=DateAdd("m"; 1 ;DateSerial(Year(Forms!Отчеты![Конец периода]);Month(Forms!Отчеты![Конец периода]); 1 ))- 1 );"0")

, получаю значение 0?На что ты навешиваешь через построитель? У тебя форма-то при поиске этого значения открыта?
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560720
ThuG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первая форма, собственно, "Отчеты", она открыта и заполнены нужные поля (в частности, "Конец периода".
На второй (тестовой) форме просто кнопка... когда через VBA на нее код вешаю, работает, когда через построитель - нет. Почему?
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560725
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThuGПервая форма, собственно, "Отчеты", она открыта и заполнены нужные поля (в частности, "Конец периода".
На второй (тестовой) форме просто кнопка... когда через VBA на нее код вешаю, работает, когда через построитель - нет. Почему?Что значит "вешаю код через построитель"?
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560737
ThuG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правой кнопкой мыши на кнопке при редактировании формы -> обработка событий -> выражения. Открывается построитель выражений, ввожу код.

:-/
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560746
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
[Остатки (хранение)]![Остаток (кг)] - это неверно.
[Остаток (кг)] - лучше, а то и вообще без квадратных скобок.
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560747
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThuGПравой кнопкой мыши на кнопке при редактировании формы -> обработка событий -> выражения. Открывается построитель выражений, ввожу код.И чего же ты после этого хочешь? Делай нормальным VBA, не выпендривайся.
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560753
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Саныч
автор[Остатки (хранение)]![Остаток (кг)] - это неверно.

я бы иначе высказался - неожиданно.

автор[Остаток (кг)] - лучше, а то и вообще без квадратных скобок

Вряд ли лучше. Тема, видимо, в том, что при работе через построитель
придется писать

Код: plaintext
"Forms![Остатки (хранение)]![Остаток (кг)]"

Хотя в поле [Остаток (кг)] формы [Остатки (хранение)]
я бы скорее число килограммов ожидал увидеть, чем выражение выбора для Dlookup
Поэтому и говорю - неожиданно...
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560756
ThuG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Владими Саныч, проверл, дело не в этом. При том такие вещи работали на более простых конструкциях. В чем еще может быть дело?

2 маяк, есть предложения? Из одной таблицы запросом надо взять данные для отчета (сделано), из другой - как раз итоги для того же отчета... С VBA понятно, но хочется проще.
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560757
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А это на форме??? Я думал, что это в таблице... Да и Аксесс подумал бы...
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560758
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще в условии пропали кавычки:
...;Дата=DateAdd("m";1;...
а надо
... ;"[Дата]=DateAdd('m';1;...
...
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560760
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Нашел!!!

Код: plaintext
"m"

Вот эти кавычки все сбивают. Почему в первом примере они не такие?
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560761
ThuG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Victosha, это не форма, а таблица. Потому и DLookUp.
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560762
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
:^) Опоздал.
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560766
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
акцессу деваться некуда.

а ты наверно, прав - похоже - таблица это.
так что твой совет правильный.
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560767
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Он действительно неправильный, но не поэтому.
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560771
ThuG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заключил в кавычки условие в DLookUp в построителе... Надо что-то делать с вложенными кавычками "m", апострофы не подходят: #Ошибка

К слову, от кнопки в тестовой форме перешел к полю в отчете - через построитель на него навесил тот же код. Ибо это и есть конечная цель.
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560773
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНадо что-то делать с вложенными кавычками "m",
удвоить: ""m""
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560779
Фотография маяк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThuGесть предложения? Из одной таблицы запросом надо взять данные для отчета (сделано), из другой - как раз итоги для того же отчета... С VBA понятно, но хочется проще.Ctrl+G, debug.print [выражение]. Если это даст нужное значение, а привязывание той же фигни с точностью до ";/," к контролу в отчёте не даст - сигнализируй.
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560784
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНадо что-то делать с вложенными кавычками "m"", апострофы не подходят

Дело не в апострофах, с ними все нормально.
Проблема в точках с запятой в выражении в кавычках, надо просто запятые
... ;"Дата=DateAdd('m',1,DateSerial(Year(Forms!Отчеты![Конец периода]),Month(Forms!Отчеты![Конец периода]),1))-1")...
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560789
ThuG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Удвоение кавычек не помогло.

Если делаю

=DLookUp("[Остаток (кг)]";"[Остатки (хранение)]";"[Дата]=#06/30/04# And [Предприятие]=Forms!Отчеты!Предприятие And [Вид топлива]='АИ-80'")

, работает.

Теперь вместо 06/30/04 надо ЛЮБЫМ СПОСОБОМ вставить последнее число месяца, указанного (разумеется, как дата целиком) в поле [Конец периода] на форме [Отчеты].
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560793
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кажется, есть мысль. Только сначала вопрос: никак не могу понять, к чему относится -1. Это добавить месяц и отнять день?
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560795
ThuG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Serge Gavrilov, точки с запятой вместо запятых - это дурацкие требования построителя, в VBA, конечно, запятые.
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560797
ThuG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точно. Собственно, с этого форума такую идею и почерпнул.

/topic/99421&hl=
...
Рейтинг: 0 / 0
VBA & Построитель выражений
    #32560799
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор2 Serge Gavrilov, точки с запятой вместо запятых - это дурацкие требования построителя, в VBA, конечно, запятые.
Причем тут требование посроителя и VBA?
Я говорю о тех точках с запятых, которые в строке, вместо них должны быть запятые, проверить трудно?
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / VBA & Построитель выражений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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