![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 07.05.2010
Сообщений: 34
|
![]()
Здравствуйте! Не получается создать компактную формулу для поля Index параметр "Условие на значение". Задача: Проверить число из поля index (8 символов, ни больше ни меньше) на корректность введения, путем проверки контрольной суммы.
Контрольная сумма подсчитывается путем сложения чисел разрятов возведенных в степень своего разрадного номера и полученный результат делится на 8 пока результат не станет меньше нуля, а первая цифра десятичного числа и будет контрольной суммой. например число 8562907 3 - где 3 - контрольная сумма 8^7 + 5^6 + 6^5 + 2^4 + 9^3 + 0^2 + 7^1 + 3^0 = 2 121 306 2121306/8= 265163.25/8= 33145.40625/8= 4143.17578125/8= 517.89697265625/8= 64.73712158203125/8= 8.09214019775390625/8= ... =0.1264397 Контрольная мумма (=1) 1<>3 не сходится номер введен не верно. Возможно ли вообще реализовать данную задачу, и вопрос на засыпку: Ну почему я не нашел в Access операцию (a)div(b)??? и есть ли замена этой операции... Всем спасибо за внимание и главное за ответы)))) И пожалуй главный вопрос, как добавить свою функцию через редактирование кода VBA?
Если бы все люди были идеальны, то любого человека можно было бы заменить любым другим...
Последний раз редактировалось Studik; 30.12.2010 в 14:20. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 07.05.2010
Сообщений: 34
|
![]()
Неужеле ни кто не знает как создать и использовать новую свою функцию в Access??
Если бы все люди были идеальны, то любого человека можно было бы заменить любым другим...
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
![]() Цитата:
Ну почему ни кто ![]() вот пример функции Код:
далее insert - module ДАЛЕЕ пишем свою функцию, примерно как я Вам написал выше, и .... Ваша функция готова можете поискать и в интернете... например здесь http://www.askit.ru/custom/vba_offic...ffice_plan.htm
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
Последний раз редактировалось R Dmitry; 31.12.2010 в 13:13. |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
![]()
Function Studik(std As String) As Boolean
Dim i&, j&, BsL, sL j = 8 For i = 1 To Len(std) sL = Mid(std, i, 1) ^ j: j = j - 1 BsL = BsL + sL Next Do While BsL > 1 BsL = BsL / 8 Loop If Mid(CStr(BsL), 3, 1) = Mid(std, 8, 1) Then Studik = True Else Studik = False End Function Вот Ваша функция, возвращает ИСТИНА ЛОЖЬ С Новым Годом!
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 07.05.2010
Сообщений: 34
|
![]()
Спасибо, большое. И всего самого в Новом году)
Если бы все люди были идеальны, то любого человека можно было бы заменить любым другим...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Формула | vpersov | Помощь студентам | 1 | 28.11.2010 19:15 |
Формула | GLM | Microsoft Office Excel | 2 | 05.08.2010 18:13 |
формула | Screame | Microsoft Office Excel | 1 | 13.08.2009 20:50 |
формула | tanka123 | Microsoft Office Excel | 31 | 17.03.2009 22:49 |
Формула | Танечка | Microsoft Office Excel | 3 | 26.06.2008 09:11 |