Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2013, 20:41   #1
raytek
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 67
По умолчанию Функция Max для строки

Доброго времени суток! Подскажите пожайлуста, есть форма, в строке 3 поля, четвертое поле вычисляемое, как пременить функцию Max() для строки

1 2 3 3
1 5 4 5
9 5 3 9

вообще в конечном варианте надо высчитывать процентное расхождение, пытаюсь вставить выражение из Excel

Max()-Min()/Max()*100

Последний раз редактировалось raytek; 23.01.2013 в 19:42.
raytek вне форума Ответить с цитированием
Старый 23.01.2013, 00:13   #2
Myhaylo
Форумчанин
 
Регистрация: 19.07.2012
Сообщений: 520
По умолчанию

[QUOTE=raytek;1170935]как применить функцию Max() для строки/QUOTE]
А как их нужно воспринимать? Вот так:

1233
1545
9533

или так:

3321
5451
3359?

Или как?
Окупант, руки прочь от Украины!!! Слава Героям!
Myhaylo вне форума Ответить с цитированием
Старый 23.01.2013, 00:19   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не, думаю, в примере ТРИ различных числа. Красным выделено максимальное значение из 3-х чисел. хотя нет, третья строчка выпадает...


я бы копал в сторону IIF

например,
Код:
select IIF( IIF(Pole1>Pole2;Pole1;Pole2)>Pole3;
                        IIF(Pole1>Pole2;Pole1;Pole2); Pole3) as MaxVal from Таблица

Последний раз редактировалось Serge_Bliznykov; 23.01.2013 в 00:22.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.01.2013, 04:43   #4
alvk
Форумчанин
 
Регистрация: 22.05.2012
Сообщений: 136
По умолчанию

Явное отсутствие нормализации в БД приводит к таким вычислениям. В нормализованной БД клиента с датой и суммой не сравнивают
alvk вне форума Ответить с цитированием
Старый 23.01.2013, 19:50   #5
raytek
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 67
По умолчанию

Извените, у меня в примере ошибка, я исправил, я собирался делать через IIF, но сначала решил спросить, может есть способ попроще?

неужели со строкой можно применять только +-*/

Неужели функции Max() или DMax() нельзя заставить работать со строкой?

может есть функция процен расхождения, ведь мне надо вычислить Max и Min , а потом их подставить в формулу:

Max()-Min()/Max()*100

вообщем гемор.....

Последний раз редактировалось raytek; 23.01.2013 в 20:00.
raytek вне форума Ответить с цитированием
Старый 24.01.2013, 02:35   #6
Myhaylo
Форумчанин
 
Регистрация: 19.07.2012
Сообщений: 520
По умолчанию

Да поясните Вы, наконец: что же такое по-Вашему Max() для строки? Возможно, тогда и получите ответ.
Окупант, руки прочь от Украины!!! Слава Героям!
Myhaylo вне форума Ответить с цитированием
Старый 24.01.2013, 07:13   #7
alvk
Форумчанин
 
Регистрация: 22.05.2012
Сообщений: 136
По умолчанию

И что такое строка? запись? а почему в одной записи есть поля, которые приходится сравнивать между собой? Потому что структура БД кривая.
alvk вне форума Ответить с цитированием
Старый 24.01.2013, 19:55   #8
raytek
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 67
По умолчанию

Да, строка это запись, в строке 4 поля, 3 заполняют ползователи а четвертое вычисляемое.
Если бы мне нужно было их сложить то все просто

Поле1+Поле2+Поле3

Но мне нужно вычислить процент расхождения для каждой записи

Пример заполнения одной записи

1 1 2 100%
raytek вне форума Ответить с цитированием
Старый 25.01.2013, 00:30   #9
Андрэич
Форумчанин
 
Аватар для Андрэич
 
Регистрация: 20.05.2012
Сообщений: 311
По умолчанию

Цитата:
Сообщение от raytek Посмотреть сообщение
есть форма, в строке 3 поля, четвертое поле вычисляемое, как пременить функцию Max() для строки

1 2 3 3
1 5 4 5
9 5 3 9

вообще в конечном варианте надо высчитывать процентное расхождение, пытаюсь вставить выражение из Excel

Max()-Min()/Max()*100
А форма какая? Одиночная, ленточная (табличная)?..
Андрэич вне форума Ответить с цитированием
Старый 25.01.2013, 11:39   #10
raytek
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 67
По умолчанию

Форма ленточная, но тоже самое должно быть и в отчете (протоколе замеров) записей в одной форме или отчете может быть от 1 до 19
raytek вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не идет паскаль (функция min and max). Тань"ка Паскаль, Turbo Pascal, PascalABC.NET 4 20.01.2013 20:21
Функция для преобразование символьной ASCIIZ-строки в ASCII-строкy dreamfactor Общие вопросы Delphi 2 21.10.2012 12:35
Функция для ввода строки в Python 2.7 или 3.2 Ibanez Wizard PHP 1 09.11.2011 22:35
определить значения выражения z=max (a,2b)*max(2a-b,b)(алгоритм функция) анжелка Паскаль, Turbo Pascal, PascalABC.NET 2 04.04.2011 08:53
функция нахождения max/min эл-та в массиве Zhenya-Pvl Паскаль, Turbo Pascal, PascalABC.NET 3 20.12.2010 14:31