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

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

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

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

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

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

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

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

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

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


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

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


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