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

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

09.12.2009, 12:21. Показов 21507. Ответов 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,375
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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru