|
Поиск максимального значения одной строки в разных столбцах
|
|||
---|---|---|---|
#18+
Добрый день! В моей таблице есть столбцы с датами. До 5 столбцов. В запросе я делаю вычисляемое поле, в котором ищу максимальное значение в этих столбцах, соответственно для каждой строки. MAX и DMAX работают внутри одного столбца. А здесь несколько столбцов. На текущий момент я делаю это с помощью вложенных IIF и все прекрасно работает. Но получается очень длинное выражение. И это неудобно. Есть ли какая-то функция, которая позволит найти максимальное значение в одной строке в разных столбцах? Я не нашел, но может плохо искал? Что-то типа DMAX (столбец1, столбец2, столбец3, столбец4, столбец5). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2021, 16:25 |
|
Поиск максимального значения одной строки в разных столбцах
|
|||
---|---|---|---|
#18+
Greg987, Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Не понял следующее:Вам нужно максимальное значение столбцов во всех записях(максимум по всей таблице)или в одной записи (ф-ция в примере) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2021, 17:27 |
|
Поиск максимального значения одной строки в разных столбцах
|
|||
---|---|---|---|
#18+
Нужен максимум именно в одной строке. То есть в запросе есть 3,4 или 5 столбцов с датами и мне нужно выбрать максимальную дату в этих столбцах для каждой строки. Подскажите пожалуйста, как эту функцию использовать теперь в запросе в вычисляемом поле? Саму функцию, как я понимаю, нужно закинуть в созданный в vba модуль. Сейчас для трех полей такое выражение: IIf([1]<=[2]; IIf([1]<=[3]; IIf([2]<=[3]; [3]; [2])); IIf([1]<=[3] ;[3]; [1])) as Поле1 Названия полей я сократил до цифр. Для пяти полей то же самое выражение, но гораздо больше ифов. И кстати, переменная а должна быть именно double, с учетом того, что в полях даты? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2021, 23:25 |
|
Поиск максимального значения одной строки в разных столбцах
|
|||
---|---|---|---|
#18+
Greg987 Нужен максимум именно в одной строке. То есть в запросе есть 3,4 или 5 столбцов с датами и мне нужно выбрать максимальную дату в этих столбцах для каждой строки. Если записи имеют уникальный идентификатор, то можно так (без VBA и без IIF): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2021, 01:31 |
|
Поиск максимального значения одной строки в разных столбцах
|
|||
---|---|---|---|
#18+
Greg987 .... И кстати, переменная а должна быть именно double, с учетом того, что в полях даты? ... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2021, 03:15 |
|
Поиск максимального значения одной строки в разных столбцах
|
|||
---|---|---|---|
#18+
про работу с датами погорячился-это актуально было для А-97(сейчас уже не надо) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2021, 03:48 |
|
Поиск максимального значения одной строки в разных столбцах
|
|||
---|---|---|---|
#18+
__Michelle, в таблицах у меня есть поле с уникальным идентификатором. Но в запросе получается уникальный идентификатор только в пределах одной даты, а не вообще в запросе. Но как вариант, можно данные из запроса вставлять в таблицу с уникальным ключом, тогда все заработает. Я, кстати, попробую. Спасибо Вам большое за вариант. sdku Ваш вариант вообще идеален для меня. Спасибо огромное! И что мне в нем нравится, что легко можно добавлять любое количество сравниваемых дат. Это круто! Всем спасибо большое! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2021, 21:09 |
|
|
start [/forum/topic.php?fid=45&msg=40074227&tid=1609679]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
133ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 255ms |
total: | 494ms |
0 / 0 |