Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Задание команды для события. / 19 сообщений из 19, страница 1 из 1
22.01.2020, 06:12
    #39917079
Лысёк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Добрый день.
Имеется форма Форма_1, в ней есть поле Поле_1. В этом поле нужно постоянно менять число. При этом это число считается по формуле через запрос Запрос_1, а результат должен отображаться в Поле_2. Как сделать, чтобы при изменении числа в Поле_1 сразу же менялся результат в Поле_2 ? Желательно подскажите, пожалуйста, через макросы, т.к. ВБА не владею.
...
Рейтинг: 0 / 0
22.01.2020, 06:37
    #39917082
Лысёк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Можно для события "после обновления" прописать команду макроса "обновление", но это не совсем то, т.к. для этого необходимо ткнуть мышкой в другое поле. А я хочу чтоб сразу.
...
Рейтинг: 0 / 0
22.01.2020, 06:42
    #39917083
Лысёк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Если то же самое прописать для события "изменение", то невозможно менять число в Поле_1, для события "внесены изменения" - вообще не работает.
...
Рейтинг: 0 / 0
22.01.2020, 06:48
    #39917084
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Лысёк, всё работает. Нужно контролировать что ввели и соответственно реагировать

И, кстати, чьи события используешь?
...
Рейтинг: 0 / 0
22.01.2020, 07:46
    #39917101
Лысёк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Панург
Лысёк, всё работает. Нужно контролировать что ввели и соответственно реагировать

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

Использую события Поля_1. Ну где цифры-то меняю.
...
Рейтинг: 0 / 0
22.01.2020, 08:01
    #39917104
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Лысёк
Панург
Лысёк, всё работает. Нужно контролировать что ввели и соответственно реагировать

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

Использую события Поля_1. Ну где цифры-то меняю.
Ну че, здОрово. ))
...
Рейтинг: 0 / 0
22.01.2020, 08:28
    #39917108
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Лысёк, пример я за тебя буду делать?
...
Рейтинг: 0 / 0
22.01.2020, 10:12
    #39917150
Задание команды для события.
1. Какое из значений полей Поле_1 и Поле_2 должно быть сохранено в таблице? Другими словами - какое из полей связано с полем источника данных формы?
2. Покажите и объясните формулу, а также покажите текст запроса.
...
Рейтинг: 0 / 0
22.01.2020, 13:04
    #39917265
Лысёк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Кривцов Анатолий
1. Какое из значений полей Поле_1 и Поле_2 должно быть сохранено в таблице? Другими словами - какое из полей связано с полем источника данных формы?
2. Покажите и объясните формулу, а также покажите текст запроса.

1. В таблице ничего сохраняться не должно. Поля не связаны с источником данных формы.
2. Формула просто умножает результат запроса, а потом делит его на другое число (которое в Поле_1 ). Результат запроса через DLookUp (в окне свойств в пункте "Данные") попадает в Поле_2.
Текст запроса
Код: plsql
1.
2.
3.
SELECT Count([№]) * 1000  / Forms![Ф_структура контингента]!Население AS Психозы
FROM О_всевоз_зарег_текущ_год
WHERE [психоз/непсихоз] = 1;
...
Рейтинг: 0 / 0
22.01.2020, 13:12
    #39917268
Лысёк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
"Население" - это и есть как бы Поле_1. Оно меняется на форме в Поле_1, ни к какой таблице не привязано.
...
Рейтинг: 0 / 0
22.01.2020, 13:17
    #39917269
Лысёк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Панург
Лысёк, пример я за тебя буду делать?

Делал примеры, результат см выше.
...
Рейтинг: 0 / 0
22.01.2020, 16:12
    #39917417
Задание команды для события.
Достаточно в Поле_2 вместо DLookUp указать выражение:
Код: vbnet
1.
=DCount("[№]"; "О_всевоз_зарег_текущ_год"; "[психоз/непсихоз] = 1") * 1000 / [Население]

Если в [Население] может появляться 0, то:
Код: vbnet
1.
=IIF([Население] > 0; DCount("[№]"; "О_всевоз_зарег_текущ_год"; "[психоз/непсихоз] = 1") * 1000 / [Население])
...
Рейтинг: 0 / 0
22.01.2020, 20:13
    #39917538
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Лысёк
...
1. В таблице ничего сохраняться не должно. Поля не связаны с источником данных формы.
2. Формула просто умножает результат запроса, а потом делит его на другое число (которое в Поле_1 ).
.....
Стесняюсь спросить: А какие такие данные возвращает запрос, с источником некая таблица(запроса без источника не бывает) в которой ничего не сохранено. Если же Вы создаете подобие калькулятора, то при чем здесь запрос?
Не понятно,однако
...
Рейтинг: 0 / 0
23.01.2020, 04:04
    #39917620
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
sdku
с источником некая таблица в которой ничего не сохранено .
Почему ты сделал такие выводы?
...
Рейтинг: 0 / 0
26.01.2020, 13:22
    #39918795
Geizer1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Лысёк
Можно для события "после обновления" прописать команду макроса "обновление", но это не совсем то, т.к. для этого необходимо ткнуть мышкой в другое поле. А я хочу чтоб сразу.

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


1 На событии Изменение (Поле_1) всё работает, но в формуле в Поле_2 надо обращаться к полю Поле_1 через его свойство [Текст]. Именно в нём содержится текущее значение поля, а обычное обращение справедливо для сохранённого значения.
Напишите у себя [Поле_1].[Текст] и заработает.
2 Команду обновление надо применять не общую как вы написали, такая команда обновляет всю форму вместе с её источником строк (в результате переводит на 1-ю запись и переносит фокус на первое поле по порядку в форме). Вам нужна команда Обновление.Поле_2 (в макросе Поле_2 пишется в строке команды Обновление). Тогда будет обновляться только Поле_2.
...
Рейтинг: 0 / 0
26.01.2020, 17:22
    #39918845
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Панург
sdku
с источником некая таблица в которой ничего не сохранено .
Почему ты сделал такие выводы?
ТС сказал:
Лысёк
....1. В таблице ничего сохраняться не должно. Поля не связаны с источником данных формы
2. Формула просто умножает результат запроса, а потом делит его на другое число (которое в Поле_1 ). Результат запроса через DLookUp (в окне свойств в пункте "Данные") попадает в Поле_2....
...
Рейтинг: 0 / 0
26.01.2020, 18:18
    #39918855
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
sdku, но это не отменяет возможности заполнения таблицы в других местах.
...
Рейтинг: 0 / 0
26.01.2020, 23:56
    #39918911
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
Так в чем проблема? Никак не "вкурю"
Код: vbnet
1.
Поле2=CurrentDB.OpenRecordset("select...from...where...") * поле1 'запрос должен возвращать одну запись.

Или
Код: vbnet
1.
Поле2=((Ме.полеХ+Ме.полеY)/Ме.полеZ)*Ме.поле1 ' поля XYZ,при не надобности отображать,скрыть
...
Рейтинг: 0 / 0
27.01.2020, 04:03
    #39918925
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задание команды для события.
sdku
Так в чем проблема? Никак не "вкурю"
22064537
и узбакойся, вишь ТС уже и дела нет
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Задание команды для события. / 19 сообщений из 19, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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