|
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 6
|
|
Генерация паролей с занесением в таблицу пользователей26.05.2009, 18:47. Показов 4875. Ответов 16
Метки нет (Все метки)
Задача: Занести в каждую запись таблицы [Таблица] в поле [Код] случайный набор из 5-8 символов с использованием Запроса на обновление.
Генерация случайного набора из 5-8 символов - готова, в Запросе работает нормально (в основе - встроенная функция Rnd() и шаблонная последовательность разрешенных символов). Однако, Access оптимизирует вызовы функций в запросах, и в связи с этим генерирует случайные наборы символов один раз - перед запуском Запроса. Результат - набор чисел случайный, но повторяется во всех записях. Пробовал варианты: - с использованием даты-времени, - с включением в формулу генерации значения поля-счетчика с параметром "случайное число". - и др. Результат неудовлетворительный: могут быть отрицательные числа, длина значения поля изменяется, значения не включают буквы и др. лабуда. К тому же все это требует многих наворотов и получатся слишком путано. "Нутром" чую, что должно быть простое решение, как заставить Запрос рассчитывать значение поля индивидуально для каждой записи. В Инете нашел, что надо выполнить команду Randomize перед выполнением запроса, но не соображу как это организовать. HELP.
0
|
|
| 26.05.2009, 18:47 | |
|
Ответы с готовыми решениями:
16
Шифрование паролей перед занесением в базу данных Сложности с занесением информации в главную таблицу решение задачи с занесением данных в таблицу, создание анимации в Pointe |
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
| 26.05.2009, 19:02 | |
|
как запрос запускается?
точнее, чем?
0
|
|
|
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 6
|
|
| 26.05.2009, 19:22 [ТС] | |
|
Пока вручную - для разработки принципа.
Дальше - можно макросом, можно кнопкой из формы..........
0
|
|
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
||||||
| 26.05.2009, 19:29 | ||||||
|
если макросом, то
сделать в модулях аксовых процедуру или функцию типа
Randomize прописать перед вызовом запроса в коде ВБА. если есть форма, которая открывается, при загрузке базы, то по событию Form_Load
1
|
||||||
|
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 6
|
||||||
| 27.05.2009, 10:41 [ТС] | ||||||
|
Спасибо!
Подумаю завтра, сейчас пора пилить домой - устал, глаза уже на этот ящик не смотрят.................... Добавлено через 15 часов 7 минут 26 секунд Не выходит каменный цветок............... Код VBA для кнопки вызова запроса:
0
|
||||||
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
| 27.05.2009, 12:33 | |
|
во-1х, имя "RE-PASS-2" использует знаки минус, поэтому нужно писать так "[RE-PASS-2]"
во-2х, можно код в студию (то что касается рандомизации, хотябы)
0
|
|
|
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 6
|
||||||
| 27.05.2009, 15:15 [ТС] | ||||||
|
1. Предложенная конструкция "[RE-PASS-2]" не работает. Access выдает сообщение об ошибке "Приложению ХХХХ не удается найти объект '[RE-PASS-2]' ".
2. После переименования запроса [RE-PASS-2] ---> [REPASS2] и соответствующего изменения кода кнопки, Access выдает сообщение об ошибке "Приложению ХХХХ не удается найти объект '[REPASS2]' ". 3. Конструкция "RE-PASS-2" ошибок не вызывает и запрос запускается. ВЫВОД: Использование в имени запроса символа "-" не является нарушением соглашений об именах объектов базы данных Access и не приводит к ошибкам компиляции. 4. Рандомизация: Запрос - "Обновление:" --->
Результат - например "zv2yd" во всех записях.
0
|
||||||
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|||||||||||||
| 27.05.2009, 17:07 | |||||||||||||
|
1.
Не по теме: оказывается квадратных скобок не нужно (давно с такой гадостью как аксовые запросы не работал) 2.кста, в запросе теперь о рандомизации работающей ))) 1. создать в модулях акса функцию, такого типа
Не по теме: 3. этвсё
0
|
|||||||||||||
|
7 / 6 / 1
Регистрация: 15.05.2009
Сообщений: 14
|
||
| 27.05.2009, 19:05 | ||
|
0
|
||
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
| 27.05.2009, 19:07 | |
|
0
|
|
|
7 / 6 / 1
Регистрация: 15.05.2009
Сообщений: 14
|
|
| 27.05.2009, 19:36 | |
|
Если не лень, прицепить файл БД с запросом и функцией без аргументов, хочется проверить, потому как у меня с вашей функцией присваивает одно значение для всех записей. (У автора топика тоже).
0
|
|
|
7 / 6 / 1
Регистрация: 15.05.2009
Сообщений: 14
|
|
| 27.05.2009, 19:53 | |
|
Для тех кто не читает задачи автора топика:
Что нужно автору пост№1 : Занести в каждую запись таблицы [Таблица] в поле [Код] случайный набор из 5-8 символов с использованием Запроса на обновление. И что в прицепленной базе? Запрос1: SELECT random(); Автор топика будет счастлив. Все задачи решены.
0
|
|
|
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 6
|
|
| 27.05.2009, 20:18 [ТС] | |
|
То Бурундук.
1. Благодарю. 2. В реально действующем запросе лишней скобки нет. Данная скобка - от удаленных повторений блока генерации очередного случайного символа. 3. После переноса блока рандомизации в тело модуля и изменении Запрос - "Обновление:" ---> random() результат обновления поля таблицы остался без изменений. ВЫВОД: Выполнение функции random() производится ACCESSOM ОДНОКРАТНО перед выполнением занесения результата в каждую запись. Добавлено через 18 минут 12 секунд Не по теме: Дальнейшее обсуждение переносится на завтра.
0
|
|
|
7 / 6 / 1
Регистрация: 15.05.2009
Сообщений: 14
|
|
| 27.05.2009, 20:25 | |
|
Вот два запроса, один без передачи аргумента в функцию, другой с передачей.
Результаты в таблице в полях Код и Код2 соответственно. В саму функцию добавил Optional аргумент.
1
|
|
|
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 6
|
|
| 28.05.2009, 10:47 [ТС] | |
|
То LUKAS:
Большое спасибо за помощь и потраченное личное время !!! Кинул первый взгляд на решение - все хорошо. Посмотрю более детально и сообщу результат позже!
0
|
|
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
|
| 28.05.2009, 11:58 | |
|
здесь https://www.cyberforum.ru/ms-a... 36931.html про уникальные значения в таблицах Акса
0
|
|
| 28.05.2009, 11:58 | |
|
Помогаю со студенческими работами здесь
17
Генерация паролей Генерация паролей
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|