Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Задание команды для события.  [new]
Лысёк
Member

Откуда:
Сообщений: 95
Добрый день.
Имеется форма Форма_1, в ней есть поле Поле_1. В этом поле нужно постоянно менять число. При этом это число считается по формуле через запрос Запрос_1, а результат должен отображаться в Поле_2. Как сделать, чтобы при изменении числа в Поле_1 сразу же менялся результат в Поле_2 ? Желательно подскажите, пожалуйста, через макросы, т.к. ВБА не владею.
22 янв 20, 06:12    [22064074]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Лысёк
Member

Откуда:
Сообщений: 95
Можно для события "после обновления" прописать команду макроса "обновление", но это не совсем то, т.к. для этого необходимо ткнуть мышкой в другое поле. А я хочу чтоб сразу.

Сообщение было отредактировано: 22 янв 20, 06:39
22 янв 20, 06:37    [22064077]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Лысёк
Member

Откуда:
Сообщений: 95
Если то же самое прописать для события "изменение", то невозможно менять число в Поле_1, для события "внесены изменения" - вообще не работает.
22 янв 20, 06:42    [22064078]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4603
Лысёк, всё работает. Нужно контролировать что ввели и соответственно реагировать

И, кстати, чьи события используешь?

Сообщение было отредактировано: 22 янв 20, 06:51
22 янв 20, 06:48    [22064079]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Лысёк
Member

Откуда:
Сообщений: 95
Панург
Лысёк, всё работает. Нужно контролировать что ввели и соответственно реагировать

И, кстати, чьи события используешь?

Использую события Поля_1. Ну где цифры-то меняю.

Сообщение было отредактировано: 22 янв 20, 07:48
22 янв 20, 07:46    [22064101]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4603
Лысёк
Панург
Лысёк, всё работает. Нужно контролировать что ввели и соответственно реагировать

И, кстати, чьи события используешь?

Использую события Поля_1. Ну где цифры-то меняю.
Ну че, здОрово. ))
22 янв 20, 08:01    [22064107]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4603
Лысёк, пример я за тебя буду делать?
22 янв 20, 08:28    [22064119]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 446
1. Какое из значений полей Поле_1 и Поле_2 должно быть сохранено в таблице? Другими словами - какое из полей связано с полем источника данных формы?
2. Покажите и объясните формулу, а также покажите текст запроса.
22 янв 20, 10:12    [22064179]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Лысёк
Member

Откуда:
Сообщений: 95
Кривцов Анатолий
1. Какое из значений полей Поле_1 и Поле_2 должно быть сохранено в таблице? Другими словами - какое из полей связано с полем источника данных формы?
2. Покажите и объясните формулу, а также покажите текст запроса.

1. В таблице ничего сохраняться не должно. Поля не связаны с источником данных формы.
2. Формула просто умножает результат запроса, а потом делит его на другое число (которое в Поле_1 ). Результат запроса через DLookUp (в окне свойств в пункте "Данные") попадает в Поле_2.
Текст запроса
SELECT Count([№]) * 1000  / Forms![Ф_структура контингента]!Население AS Психозы
FROM О_всевоз_зарег_текущ_год
WHERE [психоз/непсихоз] = 1;


Сообщение было отредактировано: 22 янв 20, 13:10
22 янв 20, 13:04    [22064340]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Лысёк
Member

Откуда:
Сообщений: 95
"Население" - это и есть как бы Поле_1. Оно меняется на форме в Поле_1, ни к какой таблице не привязано.

Сообщение было отредактировано: 22 янв 20, 13:14
22 янв 20, 13:12    [22064346]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Лысёк
Member

Откуда:
Сообщений: 95
Панург
Лысёк, пример я за тебя буду делать?

Делал примеры, результат см выше.
22 янв 20, 13:17    [22064347]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 446
Достаточно в Поле_2 вместо DLookUp указать выражение:
=DCount("[№]"; "О_всевоз_зарег_текущ_год"; "[психоз/непсихоз] = 1") * 1000 / [Население]
Если в [Население] может появляться 0, то:
=IIF([Население] > 0; DCount("[№]"; "О_всевоз_зарег_текущ_год"; "[психоз/непсихоз] = 1") * 1000 / [Население])
22 янв 20, 16:12    [22064537]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6436
Лысёк
...
1. В таблице ничего сохраняться не должно. Поля не связаны с источником данных формы.
2. Формула просто умножает результат запроса, а потом делит его на другое число (которое в Поле_1 ).
.....
Стесняюсь спросить: А какие такие данные возвращает запрос, с источником некая таблица(запроса без источника не бывает) в которой ничего не сохранено. Если же Вы создаете подобие калькулятора, то при чем здесь запрос?
Не понятно,однако
22 янв 20, 20:13    [22064699]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4603
sdku
с источником некая таблица в которой ничего не сохранено.
Почему ты сделал такие выводы?
23 янв 20, 04:04    [22064885]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Geizer1
Member

Откуда: Томск
Сообщений: 59
Лысёк
Можно для события "после обновления" прописать команду макроса "обновление", но это не совсем то, т.к. для этого необходимо ткнуть мышкой в другое поле. А я хочу чтоб сразу.

Лысёк
Если то же самое прописать для события "изменение", то невозможно менять число в Поле_1, для события "внесены изменения" - вообще не работает.


1 На событии Изменение (Поле_1) всё работает, но в формуле в Поле_2 надо обращаться к полю Поле_1 через его свойство [Текст]. Именно в нём содержится текущее значение поля, а обычное обращение справедливо для сохранённого значения.
Напишите у себя [Поле_1].[Текст] и заработает.
2 Команду обновление надо применять не общую как вы написали, такая команда обновляет всю форму вместе с её источником строк (в результате переводит на 1-ю запись и переносит фокус на первое поле по порядку в форме). Вам нужна команда Обновление.Поле_2 (в макросе Поле_2 пишется в строке команды Обновление). Тогда будет обновляться только Поле_2.
26 янв 20, 13:22    [22066700]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6436
Панург
sdku
с источником некая таблица в которой ничего не сохранено.
Почему ты сделал такие выводы?
ТС сказал:
Лысёк
....1. В таблице ничего сохраняться не должно. Поля не связаны с источником данных формы
2. Формула просто умножает результат запроса, а потом делит его на другое число (которое в Поле_1 ). Результат запроса через DLookUp (в окне свойств в пункте "Данные") попадает в Поле_2....
26 янв 20, 17:22    [22066781]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4603
sdku, но это не отменяет возможности заполнения таблицы в других местах.
26 янв 20, 18:18    [22066796]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6436
Так в чем проблема? Никак не "вкурю"
Поле2=CurrentDB.OpenRecordset("select...from...where...") * поле1 'запрос должен возвращать одну запись.
Или
Поле2=((Ме.полеХ+Ме.полеY)/Ме.полеZ)*Ме.поле1 ' поля XYZ,при не надобности отображать,скрыть
26 янв 20, 23:56    [22066882]     Ответить | Цитировать Сообщить модератору
 Re: Задание команды для события.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4603
sdku
Так в чем проблема? Никак не "вкурю"
22064537
и узбакойся, вишь ТС уже и дела нет
27 янв 20, 04:03    [22066904]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить