|
|
|
| Подскажите, пожайлуста, как получить максимальное значение в одномерном массиве ... Просто перебором на сравнение ... как-то по-дурацки, может есть функция, которую я просто не знаю ... | |
|
| |
|
|
|
| функции вроде нет, или я тоже ее не знаю, как вариант использовать рекордсет
http://hiprog.com/index.php?option=com_content&task=view&id=459 | |
|
| |
|
|
|
| виртуальный рекорсет, хм ... интренсо, надо попробовать ... можно просто запихнуть данные во временную таблицу, получить значение и ее удалить потом, но с первым красивее ...
спасибо | |
|
| |
|
|
|
| Интересно узнать, на чем остановили выбор и каковы результаты? | |
|
| |
|
|
|
| Еще можно воспользоваться такой функцией
Public Function MaxValueInArr(strArr() As String) As String
Access.WizHook.SortStringArray strArr
MaxValueInArr = strArr(UBound(strArr))
End Function
|
Пользоваться так
Dim strMyArr() As String
strMyArr = Split("14;0;15;10;11;17;02;13", ";")
Debug.Print MaxValueInArr(strMyArr)
|
Замечание. Только для строкового массива, т.е. как в выше указанном примере однозначные числа надо привести к двузначному формату ( 2 к 02) или же все к трехзначному... | |
|
| |
|
|
|
| Коллеги писали, что WizHook.SortStringArray сильно не любит пустые строки и/или значения Null. Вплоть до зависания.
У автора вопроса видимо не строковые значения а числа или даты. И сортировать ему не надо.
>Просто перебором на сравнение ... как-то по-дурацки
Совсем не по-дурацки. Элементарная операция, и не нужно никаких наворотов.
Другое дело, откуда берутся данные для массива, какова цель, и нужен ли массив. | |
|
| |
|
|
|
| Я вот тоже в циклике..да на сравнение. Думал может что другое интереснее есть. | |
|
| |