Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.59/34: Рейтинг темы: голосов - 34, средняя оценка - 4.59
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252

Нумерация в БД

30.01.2014, 12:38. Показов 7909. Ответов 74
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Прошу помочь с таким вопросом: есть БД, в которой нумерация должна вестись следующим образом:

- 3301 - 3899
- 4000 - 4899
- 5000 - 5899
- 13000 - 13899
- 14000 - 14899
и так до 20899

Прилагаю, то что имеется. К сожалению, моих познаий недостаочно ((


Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.01.2014, 12:38
Ответы с готовыми решениями:

Нумерация
Доброго времени суток! У меня такой вот вопрос: Есть допустим несколько начальников смены, у каждого свои задания, которые они выполняют,...

Нумерация
у меня такой вопрос можно ли продолжить нумирацию??? вот у меня поле в котором идет нумирация 12/940 потом в новой записи 12/941 как...

автоматическая нумерация
Можно сделать так чтобы в колонке ID, когда добавляешь новые записи автоматически нумеровалось не 1,2,3 ..., а скажем номер который состоит...

74
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
31.01.2014, 10:05  [ТС]
Студворк — интернет-сервис помощи студентам
)) ну не суть важно, Иванов или Петров, главное чтобы номера документов шли последовательно. Удалять документы вряд ли потребуется, а вот что касается того что если дадут еще документы, то просто введет новую пачку, не страшно если до обеда введет номера с 1 по 15, а после еще и с 23 по 30.
По идее - каждый оператор получает на руки n-ое количество документов каждый день и их обрабатывает никто ему еще не подсунет, во всяком случае на текущий день. А если есть наработанная схема то прошу поделиться ))
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
31.01.2014, 10:14
Цитата Сообщение от Panzermensch Посмотреть сообщение
А если есть наработанная схема то прошу поделиться ))
Я уже все написал - нумерация в конце дня по введенным за день документам.
0
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
31.01.2014, 10:20  [ТС]
Ок. И как это реализовать?
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
31.01.2014, 10:21
можно мнение нейтрального наблюдателя. у нас сделано как: ко мне приходит пачка с рабочими листками, данные по работникам за месяц в цехе. кол-во зависит от количества людей. ПАЧКЕ присваивается СВОЙ номер, например: 2069, а каждому раб. листку через дробь свой. в результате у пачки всегда один свой номер, с бумаг тоже свой и один. если заинтересует, готов продолжить. это можно делать и каждый день: прошел документ откр. номер пачки. далее в течении дня вбивай в нее сколько угодно.
0
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
31.01.2014, 10:23  [ТС]
хорошее решение, но здесь именно что нумерация ведется последовательная, а не по номеру пачки, вот такое рукожопство, прошу прощения))
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
31.01.2014, 10:29
Пишите процедуру, которая запускается, когда все работы закончены. Процедура во внешнем цикле перебирает всех операторов дня, а во внутреннем договора дня конкретного оператора и нумерует их. Все.

Добавлено через 4 минуты
Цитата Сообщение от Panzermensch Посмотреть сообщение
номеру пачки, вот такое рукожопство
А пачка то откуда взялась, м.б. можно сразу формулировать задачу, а не уточнять ее постоянно. То все документы сразу, то пачками? Да и какая разница, если есть номер пачки еще, последовательно все пачки оператора нумерованы или нет? Так нумерация в пачке какая - из общих номеров или своя, последовательная в пределах пачки - если своя - то зачем морочить всем голову диапазонами? Нумератор для пачки делается гораздо проще (тем более, что с пачкой работает один оператор и конфликтов не будет)
0
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
31.01.2014, 10:40  [ТС]
В том то и дело. Пачка документов - это условно. Может я не правильно сформулировал. Оператор получает некоторое количество документов ля обработки и это у нас именуется пачка. А номера присваиваются по ходу обработки. И технологическое требование чтобы номера присваивались в определенных диапазонах.
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
31.01.2014, 10:48
все ясно. тогда по указанному от itv_1953. просто два номера с начала темы не давали покоя. отстаю.
0
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
31.01.2014, 10:49  [ТС]
В общем прошу подсказать код:

номер начинается с 3301 и каждое последующее значение увеличивается на 1, при достижении 3899 номер ставится 4000, при достижении 4899 ставится 5000, при достижении 5899 ставится 13000. желательно чтобы это не зависело от счетчика.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
31.01.2014, 10:53
Цитата Сообщение от Panzermensch Посмотреть сообщение
Оператор получает некоторое количество документов ля обработки и это у нас именуется пачка. А номера присваиваются по ходу обработки. И технологическое требование чтобы номера присваивались в определенных диапазонах.
Определитесь: все документы одного оператора должны иметь последовательные номера (с учетом диапазонов) или вся нумерация еще разбивается на серии по пачкам. Если первое - то нумерация в конце дня. Все.

Добавлено через 1 минуту
Цитата Сообщение от Panzermensch Посмотреть сообщение
номер начинается с 3301 и каждое последующее значение увеличивается на 1, при достижении 3899 номер ставится 4000, при достижении 4899 ставится 5000, при достижении 5899 ставится 13000. желательно чтобы это не зависело от счетчика.
Функция же все это делает, только справочник диапазонов нужно заполнить.
0
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
31.01.2014, 11:58  [ТС]
да, но объясните мне как эту функцию задействовать в коде?
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
31.01.2014, 13:09
и все таки номера у вас идут не по порядку и не пойму по какому алгоритму. почему после 5899 идет 13000? понять надо: как создается номер? почему не может быть 5900? и почему последний номер 20899. а потом что? сообщение всем: СПАСИБО ЗА ТРУД! ВСЕ УВОЛЕНЫ!
0
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
31.01.2014, 13:54  [ТС]
Ну надо чтобы вот так шло. Не моя прихоть.
Номера должны быть:

3301 - 3899
4000 - 4899
5000 - 5899
13000 - 13899
14000 - 14899
15000 - 15899
16000 - 16899
17000 - 17899
18000 - 18899
19000 - 19899
20000 - 20899

По идее этого хватит на месяц. Для всех документов поскольку это определенный тип документа.

Народ! не спрашивайте почему и зачем. Честно, сам не знаю. Но должно быть вот так. Помогите с кодом. Функция есть, которая берет диапазоны из таблицы Помогите теперь объединить это с кодом. Мне надо чтобы оператор ввел количество документов (например 8) в таблице забилось 8 полей. Как только нумерация дошла до 3899 переход на 4000 и т.д.

Добавлено через 2 минуты
P.S. я сам не кодер. Больше системщик. Просто по ходу мне досталась куча баз на Access, которые надо допиливать, точнее делать Access приложения для баз.

Добавлено через 3 минуты
еще нюанс что это надо сделать быстро, поэтому я пока особо и не заморачиваюсь на тонкости разработки, это уже будет допиливаться по ходу.
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
31.01.2014, 14:33
так вопросы потому и задаются, что они есть. ни кто не хочет вас в чем-то упрекнуть. просто надо сидя здесь понять, что и чему. после последнего вашего сообщения появился еще вопрос. эти же самые номера будут повторяться в следующем месяце?
0
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
31.01.2014, 15:25  [ТС]
Да, таблица просто очищается (введенные данные копируются в архив, в таблице БД есть поле дата). И информация вводится заново.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,959
Записей в блоге: 4
31.01.2014, 16:23
у меня --несколько другая схема

--каждый год начинается с 000001
--часто требуется просмотреть документ прошлого периода
===поэтому=============
в заголовке формы
--сообщи год
--сообщи номер(есть рукописный журнал учета, повторов нет)
-----найти по год+номер

если найден
--корректировка(в течении дня допустима для автора)
--удаление ----очень редко, но бывает(пометка на удаление, в расчет не пойдет)

не найден
--ввод нового, с автозанесением в поля исполнителя и даты
--отказ от ввода из-за ошибки(пользователь знает, должен ли он найти/или нет)

===========
остальное стандартно
счетчик ТОЛЬКО для связи с подчиненной таблицей
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
01.02.2014, 22:51
Panzermensch, наконец-то в выходной нашел время заняться делом. Интересная у вас тема. Я все изложил на своем примере (мне так было проще, чтобы не разбираться в вашей базе).
1. Я так и не понял, почему разрыв в номерации. Может вы поделили номера между отделами?
2. Т.к. в нумерации нет последовательности и алгоритма появления номера предлагаю (далее см. мой пример): создать отдельную таблицу с вашими номерами Номера. В ней дополнительно два поля: логическое Занят и текстовое Сотрудник. Поле Занят необходимо для брони номеров. Поле Сотрудник для отображения кем занят номер. Каждый месяц данные этих полей обнуляются (по вашим условиям);
3. В форме Рег_докум ведется сам процесс бронирования номеров и оформления документов. В верхней части в поле ФИО, кем бринируется заносится фамилия работника для кого бронируется номер. Бронь происходит нажатием кнопки Бронь номера.
4. Далее переходим непосредственно к заполнению забронированных номеров. Фамилия по умолчанию горит того, кто забит на верху. В поле Номер высвечиваются номера забранированные для пользователя отображенного на верху. Номера, которым дано название, в следующей записи не показываются (чтобы избежать ошибочного введения одного номера два раза). Если пользователь оформил два документа и пошел попить чай (при этом он закрыл форму), то он ее открывает. В верхней части открывает свою фамилию. Нажимает кнопку Продолжить записи. и у него показываются номера только те, которые еще не оформлены.
5. В примере работнику по умолчанию присваивается 8 номеров (не получилось привязаться к полю Количество документов. Посмотрите. Если подойдет, то готов продолжить.
P.S. На себя я уже прикрепил 8 записей и одно уже использовал. Будте внимательны.
Вложения
Тип файла: rar Докум1.rar (41.5 Кб, 14 просмотров)
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
01.02.2014, 23:00
Если подойдет можно будет пробовать на вашем примере.
0
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
03.02.2014, 09:06  [ТС]
Интересный вариант. А возможно ли будет в этом варианте чтобы бронирование производили одновременно несколько пользователей? Потому что ввод документов производит целый отдел из нескольких человек.

К сожалению не могу просмотреть форму, гонит Access - ошибка при попытке открытия формы, причем на нескольких компах аналогично (( у меня Access 2003 (11.5614.5606)


А каким образом будет осуществляться присвоение номеров в указанном диапазоне и возможно ли бронирование произвольного количества документов?
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
03.02.2014, 09:29
1. Возможно одновременное бронирование несколькими пользователями;
2. Сделано в 2010, но если подойдет, то будем делать в вашей конкретной форме (правда замечал, если редактировать файл со старой версии на новой версии access, то он не работает. Поэтому заменили везде access на один 2010.
3. Пока сделал броинрование только одновременно 8 документов (можно сделать определенное количество).
4. Вопрос: могут оператору принести 15 документов утром. Номера он забронировал и работает. После обеда ему принесли еще 20. Номера у него должны продолжится от тех 15 или можно бронировать новые 20 номеров?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.02.2014, 09:29

Нумерация строк
Доброй ночи всем, кто не спит! Подскажите, как сделать нумерацию строк, чтобы по умолчанию новая строчка имела последующий номер. т.е....

Нумерация в отчете
Добрый день! Уважаемые "Сансеи", в отчете для нумерации записей по порядку я использовал код (=" " & & " ")....

Последовательная нумерация
Добрый вечер, уважаемые программисты, подскажите каким образом реализовать последовательную нумерацию строк в форме. К примеру есть одна...

Нумерация по порядку (не Счетчик)
Приветствую, Уважаемый форумчане! Пожалуйста, помогите советом! Вроде все просто, но, к своему удивлению, сделать не получилось :-( ...

Нумерация строк в запросе
Всем привет! Подскажите, нужно чтобы нумерация была у таблицы, не получается, делаю так: SELECT ROW_NUMBER() OVER(ORDER BY fio)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru