Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/100: Рейтинг темы: голосов - 100, средняя оценка - 4.95
 Аватар для garik8000
47 / 47 / 3
Регистрация: 09.12.2009
Сообщений: 154

Как определить Max нескольких полей

09.12.2009, 12:21. Показов 21829. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый уважаемые!
Не знаю как в Access определить максимальное значение нескольких полей.
За ранее благодарен.
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.12.2009, 12:21
Ответы с готовыми решениями:

Подсчитать Max нескольких полей
Доброго времени суток форумчане. В процессе проектирования базы данных по производству плановых ремонтов возникла необходимость вычислить...

Определить значение z=max(a, 2b)*max(2a-b,b)
Определить значение z=max(a, 2b)*max(2a-b,b), где max(x, y)-максимальные из чисел х и у. Задачу решить 2мя способами: 1) Не используя...

Определить значение Z=max(a,2b)*max(2a-b,b), где max(x,y)-максимальное из чисел x,y
Помогите решить задачу: Определить значение Z=max(a,2b)*max(2a-b,b), где max(x,y)-максимальное из чисел x,y. Задачу решить двумя...

29
 Аватар для Елена
2454 / 797 / 24
Регистрация: 18.08.2009
Сообщений: 1,697
11.12.2009, 08:25
Студворк — интернет-сервис помощи студентам
мне тоже твой топик помог
0
Fovaxus
19.03.2013, 20:43
Спасибо. Мне это пригодилось.
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
20.03.2013, 07:18
А правильный ответ на изначальный вопрос: нормализовать структуру в БД и вопрос отпадёт сам собой.
0
 Аватар для Rikozenit
3 / 3 / 0
Регистрация: 03.08.2015
Сообщений: 156
20.10.2016, 10:08
Всем доброго дня!
Подскажите, если мне необходимо всё тоже самое, только для дат, то я поменял тип переменной "а" на Date.
Но так как я делаю это не форме/отчёте, а в запросе, то у меня эта функция может быть прописана только в отдельном модуле, так?
Я прописал и ничего не происходит... Видимо т.к. не прописаны имена "родителей", но я не смог найти, как это сделать! Подскажите плиз!

Visual Basic
1
2
3
4
5
6
7
8
9
10
Public Function vbMAX()
Dim a As Variant
a = Финиш_сбор
If a < Финиш_уч2 Then a = Финиш_уч2
If a < финиш_монт Then a = финиш_монт
If a < финиш_регулир Then a = финиш_регулир
If a < финиш_упак Then a = финиш_упак
'may be continue
vbMAX = a
End Function
Миниатюры
Как определить Max нескольких полей  
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
20.10.2016, 10:51
Приведенная, как пример, функция работает в модуле формы, к полям которой в функции есть доступ. В запросе нужно передавать их в функцию как параметры ... .

Не по теме:

Нужно всегда в модулях ставить Option Explicit и компилировать. Все сразу станет видно ... .

0
 Аватар для Rikozenit
3 / 3 / 0
Регистрация: 03.08.2015
Сообщений: 156
20.10.2016, 11:07
ltv_1953, а как это сделать?
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
20.10.2016, 11:25
Visual Basic
1
2
3
4
5
6
7
8
9
Public Function FMAX(ByVal A1 As Variant, ByVal A2 As Variant, ByVal A3 As Variant, ByVal A4 As Variant, ByVal A5 As Variant) As Variant
    Dim A As Variant
        A = A1
        If A < A2 Then A = A2
        If A < A3 Then A = A3
        If A < A4 Then A = A4
        If A < A5 Then A = A5
        FMAX = A
End Function
Обращение в запросе (поле в конструкторе)
Выражение1:FMAX(Финиш_сбор; Финиш_уч2; финиш_монт; финиш_регулир; финиш_упак)
1
 Аватар для Rikozenit
3 / 3 / 0
Регистрация: 03.08.2015
Сообщений: 156
20.10.2016, 12:35
ltv_1953, потрясающе! Работает! Спасибо большое)) И я даже понял как это работает

Добавлено через 32 минуты
ltv_1953, только некоторые позиции не просчитывает (остаются пустыми)... видимо если ячейка пуста и в ней может храниться какой-то "мусор", он при сравнении вместо максимума берёт этот мусор что ли?...
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
20.10.2016, 12:40
Ну так используйте Nz, заменяя Null нулем (не "мусор" там, о отсутствие значения).
Выражение1:FMAX(Nz(Финиш_сбор;0); Nz(Финиш_уч2;0); Nz(финиш_монт;0); Nz(финиш_регулир;0); Nz(финиш_упак);0)
Будет работать, если значения неотрицательные. Если могут быть все отрицательные, то в Nz не 0, а минимальное соответствующего типа.
1
 Аватар для Rikozenit
3 / 3 / 0
Регистрация: 03.08.2015
Сообщений: 156
20.10.2016, 13:46
ltv_1953, да что ж я постоянно забываю про NZ?! ((

Сделал всё так, как Вы сказали:
SQL
1
2
3
FMAX(Nz([Финиш_сбор];0);
 Nz([Финиш_уч2];0);Nz([финиш_монт];0);
 Nz([финиш_регулир];0);Nz([финиш_упак];0))
а для поиска минимума поставил текущую дату:
SQL
1
2
3
4
FMIN(Nz([старт_сбор];
 DATE());Nz([Старт_уч2];
 DATE());Nz([старт_монт];
 DATE());Nz([старт_регулир]; DATE());Nz([старт_упак]; DATE()))
Всё супер!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.10.2016, 13:46
Помогаю со студенческими работами здесь

С помощью пользовательской функции определить: (max(a,a+c)+max(a,b+c))/(1-max(a∙b+c,1.5) )
Даны действительные a, b, c. С помощью пользовательской функции определить: (max(a,a+c)+max(a,b+c))/(1-max(a∙b+c,1.5) ) ...

Определить значение функции max(a, max(a/2, cos b))*max(2a-b,b)
Составьте программу для решения задачи. Определите значение õ=max(a, max(a/2, cos b))*max(2a-b,b) , где max(x,y)есть максимальное из...

Автозаполнение полей, зависимость нескольких полей от одного
Всем привет! Решил для работы создать незатейливую БД для учёта файлов посадочных мест различных электронных компонентов. Пока в БД...

Как записать значение из нескольких текстовых полей?
Как записать значение из нескольких текстовых полей? Пытаюсь сделать функцию для класса но не как не могу понять как это должно выглядеть...

Как сделать фильтрацию нескольких полей сразу?
Как сделать фильтрацию нескольких полей сразу?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru