Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически)
Текущее время: 23.11.2024 03:50

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Автоматическая нумерация.
СообщениеДобавлено: 06.05.2019 12:11 
Не в сети

Зарегистрирован: 12.03.2019 12:12
Сообщения: 7
Добрый день!
Есть таблица qdfOrders, в ней есть поле Номер(Field1) и Ответственный(UserName)
Правилами настроено так, что каждый пользователь видит только свои записи.
Можно ли сделать так, что бы про добавлении новой записи, автоматически в ячейку Номер(Field1), добавлялся бы УНИКАЛЬНЫЙ номер для каждого пользователя.
Пример:
У пользователя N.Ritikov последний номер NR005, при создании новой записи, автоматически будет заполнен номер NR006.
У пользователя admin последний номер AC101, при создании новой записи, автоматически будет заполнен номер AC102. И так далее )


Вложения:
прмиер77.jpg
прмиер77.jpg [ 213.53 КБ | Просмотров: 26327 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматическая нумерация.
СообщениеДобавлено: 06.05.2019 16:09 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
Добрый день.
Можно. Для этого надо делать выборку максимального значения из поля Field1 по пользователю, используя переменную <CurrentUser>
Сам запрос на выборку я уже приводил в теме "Добавление в таблицу, с полем, с автоматической нумерацией."

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматическая нумерация.
СообщениеДобавлено: 06.05.2019 18:15 
Не в сети

Зарегистрирован: 12.03.2019 12:12
Сообщения: 7
Извините, но если честно, не понял. Я не программист и теженько это к восприятию :( Как задавать для нескольких пользователей?Можно посмотреть готовый пример формулы для данной ситуации..
Пользователи N.Ritikov и admin.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматическая нумерация.
СообщениеДобавлено: 07.05.2019 15:56 
Не в сети

Зарегистрирован: 05.10.2017 11:08
Сообщения: 5
Доброго времени суток.

Вам нужно написать процедуру на VBScript, которая бы высчитывала новый номер и вставляла как значение по умолчанию в поле "Номер".
Процедура примерно следующего содержания:

Код:

'создание необходимых переменных
Dim sSQL, sFullNumber, sUserName
'Создание запроса на максимальный номер заказа
sSQL = "SELECT MAX(Field1) FROM tblOrders WHERE UserName = '" & sUserName & "')"
sFullNumber = ExecuteSQL(sSQL)
'Далее нужно разделить буквы от числа
'К числу прибавить единицу
'И снова склеить буквы и новое число и вернуть результат
return sFullNumber



Смотрите скриншоты: 1 - как создать таблицу "Процедуры", 2 - как добавить новую процедуру и 3 - как прописать значение по умолчанию в поле "Номер".


Вложения:
Создание таблицы процедуры.jpg
Создание таблицы процедуры.jpg [ 447.51 КБ | Просмотров: 26290 ]
Добавление процедуры.jpg
Добавление процедуры.jpg [ 323.24 КБ | Просмотров: 26290 ]
Значение по умолчанию в поле Номер.jpg
Значение по умолчанию в поле Номер.jpg [ 426.78 КБ | Просмотров: 26290 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматическая нумерация.
СообщениеДобавлено: 07.05.2019 16:55 
Не в сети

Зарегистрирован: 12.03.2019 12:12
Сообщения: 7
Если процедура как у вас, то:


Вложения:
прмиер1.jpg
прмиер1.jpg [ 250.75 КБ | Просмотров: 26285 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматическая нумерация.
СообщениеДобавлено: 07.05.2019 16:56 
Не в сети

Зарегистрирован: 12.03.2019 12:12
Сообщения: 7
Если убрать скобочку то:


Вложения:
прмиер2.jpg
прмиер2.jpg [ 256.85 КБ | Просмотров: 26284 ]
прмиер3.jpg
прмиер3.jpg [ 224.58 КБ | Просмотров: 26284 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматическая нумерация.
СообщениеДобавлено: 07.05.2019 17:41 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
seutkin,

задайте Значение по умолчанию в свойствах поля "Номер" формулу:

SELECT RIGHT(<UserName> , 2) & MAX(VAL(MID(Nomer, 3))) FROM tblTable WHERE UserName= <UserName>

Функция RIGHT с параметром 2 возвращает два символа справа от строки.
Например, для "Сидоров АС" будет возвращено "АС".

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB