powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как произвести математическую операцию при помощи SQL и вывести результат в поле формы
4 сообщений из 4, страница 1 из 1
Как произвести математическую операцию при помощи SQL и вывести результат в поле формы
    #39379914
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую,
Хотел бы спросить как можно сделать форму, когда вычисления проводятся в SQL, а результат выводится в форме.
Прикладываю пример БД.
Там есть форма, где можно выбрать 3 пункта. И таблица, где есть 4 столбца (1-4), а также еще два столбца В1,В2. Хотелось, чтобы при выборе флажков(флажки 1-4) в форме, происходила следующая математическая операция: складывались значения выбранных столбцов (1-4) при помощи флажков, а затем умножались на значения В1,В2, после чего полученные значения для строк складывались. Результат выводится в форме в соответствующие поля.
Например:
1 2 3 4 В1 В20 1 2 0 0,25 0,251 1 0 1 0,3 0,30 0 1 0 0,1 0,1

В списке формы выбраны первые две строки и отмечены флажки 1 и 2, соответственно сначала складываются 0 и 1, затем умножаются на 0,25 для первой строки получается : 0,25, после чего складываются 1 и 1 для второй строки и сумма умножается на 0,3, получаем :0,6. Финалом складываем 0,25 и 0,6, получаем : 0,85 и это значение выводится в поля формы.

Есть какие-то примеры как это реализовать или можете объяснить как это сделать?
Спасибо
...
Рейтинг: 0 / 0
Как произвести математическую операцию при помощи SQL и вывести результат в поле формы
    #39379916
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
P.S.
Вот пример, писал долго пост и файл отвалился
...
Рейтинг: 0 / 0
Как произвести математическую операцию при помощи SQL и вывести результат в поле формы
    #39380186
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Базу не смотрела. Да и необходимости в этом не вижу.

1. Добавьте в область данных формы вычисляемое поле со значением ControlSource Property
Код: sql
1.
=-([1]*[F1]+[2]*[F2]+[3]*[F3]+[4]*[F4])*[B1]

Вот только странно — пишете "а затем умножались на значения В1,В2", а в приведенном затем примере используется только [B1].
Или в условии должно было быть "а затем умножались на ненулевые значения В1,В2" ?
Короче — подправите выражение, как надо.
2. Добавьте в примечание формы свободное поле, допустим, S2.
3. Задайте процедуру обработки события AfterUpdate для всех флажков так:
Код: sql
1.
=FuncF()

4. Поместите в модуль формы функцию
Код: vbnet
1.
2.
3.
4.
5.
Function FuncF()
 S2 = CurrentDb.OpenRecordset("SELECT " & _
                              "-Sum(([1]*" & F1 & "+[2]*" & F2 & "+[3]*" & F3 & "+[4]*" & F4 & ")*B1) " & _
                              "FROM Таблица1").Fields(0)
End Function

Тут еще нужно будет добавить WHERE-условие отбора записей, дающих вклад в итоговую сумму.
Но четкого описания этого отбора в описании задачи нет. Поэтому сами распишете, как знаете.

Что такое "Там есть форма, где можно выбрать 3 пункта.", тоже непонятно, какие это 3 пункта и зачем.
...
Рейтинг: 0 / 0
Как произвести математическую операцию при помощи SQL и вывести результат в поле формы
    #39389086
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Спасибо огромное, все получилось!Давно сюда не заходил, ибо отдыхал)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как произвести математическую операцию при помощи SQL и вывести результат в поле формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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