Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Счет выполнения макроса / 19 сообщений из 19, страница 1 из 1
25.05.2004, 12:31
    #32532157
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
Как сделать так, чтобы макрос выполнялся только один раз при определенных условиях (или какой - то счетчик выполнения макроса)
Проблемма в следующем:
по макросу выполняется запрос на дополнение с определенным условием. Если условие не выполняется, то запрос добавляет "пустоту", то бишь - ничего.
НО!!! в течении месяца может быть неоднократно соблюдено условие (когда первый раз будет соблюдено - не известно).
Как сделать так, чтобы макрос выполнялся один раз, а не дополнял одни и теже данные в табл при соблюдении условия...
Спасибо.
Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
25.05.2004, 12:34
    #32532162
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
Создать таблицу настроек и ключик в ней менять при выполнении макроса
Ключик добавить в условия запуска

?
...
Рейтинг: 0 / 0
25.05.2004, 12:40
    #32532181
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
Ключик добавить в условия запуска
пробовал, что-то не проходит. Может неправильно делаю? (раньше не сталкивался с необходимостью использовать данные табл как условие выполнение макроса...
Правильно пишу?: [Табл1]![ххх]=13 ____ Вероятно нет, т.к. выдает : "Приложению MsA не удается найти имя Табл1 из этого выражения"
Что неправильно делаю???
Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
25.05.2004, 12:44
    #32532195
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
А что - обязательно прямо к таблице лезть?
А функцию написать, которая этот ключик вернет и с ней сравнивать?
...
Рейтинг: 0 / 0
25.05.2004, 12:45
    #32532197
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
автор[Табл1]![ххх]=13

попробуй через DLookup
...
Рейтинг: 0 / 0
25.05.2004, 12:46
    #32532201
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
О-о

А функция-то уже есть :)

Kelme подсказал :)
...
Рейтинг: 0 / 0
25.05.2004, 12:53
    #32532231
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
Тогда получается, что нужно запускать макрос тока через процедуру ????
DLookup в колонке условий макроса не срабатывает...
Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
25.05.2004, 13:28
    #32532324
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
Поставил следю выражение в Сondition:
nz(DLookUp("ProdShopCode";"Products";"[ProdShopCode] = 'tttt'");0)<>0

всё сработало
...
Рейтинг: 0 / 0
25.05.2004, 13:31
    #32532338
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
Классно!!! Работает...
Расшифруй енто, плз, чтоб яснее было...
СПАСИБО!
Stepler (щёлк-щёлк!!)
...
Рейтинг: 0 / 0
25.05.2004, 13:34
    #32532346
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
Что не понятно?

DLookUp - функция возвращающая значение поля (парам1) из таблицы (парам2) по условию (парам2)
Если по условию ничего нет или таблица пуста - вернет Null

Nz(парам1, парам2) - функция вернет парам1, если он не равен Null, иначе вернет парам2
...
Рейтинг: 0 / 0
25.05.2004, 13:35
    #32532349
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
авторпо условию (парам2)

читать как:
по условию (парам3)
...
Рейтинг: 0 / 0
25.05.2004, 13:38
    #32532358
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
Dlookup вщзвращает значение, удовлетворяющее критерию, если нет ничего то возвращается Null.

Вообщето наверно правильней так будет:
DLookUp("ProdShopCode";"Products";"[ProdShopCode] = '161300520'") Is Not Null
...
Рейтинг: 0 / 0
25.05.2004, 13:40
    #32532363
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
и вернёт оно True/False...

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
25.05.2004, 13:41
    #32532369
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
автор
и вернёт оно True/False...


что в принципе и требуется ;)
...
Рейтинг: 0 / 0
25.05.2004, 13:47
    #32532380
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
ну да
сорьки действительно красивее...
проявлю и я эрудицию
Код: plaintext
1.
Not IsNull(DLookUp("ProdShopCode";"Products";"[ProdShopCode] = '161300520'")) 

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
25.05.2004, 13:54
    #32532403
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
автор
ну да
сорьки действительно красивее...


дело не в том, что красивее, а в том, что Dlookup может и значение 0 возвратить, типа запись найдена, а в Nz cтоит проверка на 0, и условие не сработает ;)

Саныч как то мне на этот нюанс указывал...
...
Рейтинг: 0 / 0
25.05.2004, 14:01
    #32532426
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
Ну, раз уж меня помянули... :^)))

Если запись найдена, но в ней Null, то эта ситуация все равно пока не отлавливается. И что делать - я не знаю.
...
Рейтинг: 0 / 0
25.05.2004, 14:02
    #32532432
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
А! Знаю.

Код: plaintext
DCount("*";"Products";"[ProdShopCode] = '161300520'") >  0 
...
Рейтинг: 0 / 0
25.05.2004, 14:04
    #32532440
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Счет выполнения макроса
да и нафиг эту запись тогда ;)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Счет выполнения макроса / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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