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

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

30.01.2014, 12:38. Показов 7768. Ответов 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
03.02.2014, 09:40  [ТС]
Студворк — интернет-сервис помощи студентам
2. лучше делать в 2003, здесь все на 2003

3. можно сделать бронирование по заданному пользователем числу?

4. можно бронировать новые


Принцип такой: приходит условно 200 документов, скрепленных в пачки по 10-20 штук отсортированы по дате. Операторы разбирают эту кучу и начинают их вбивать в базу. Главное чтобы порядок соблюдался по дате, то есть если есть за 1 января 10 документов, то и номера должны следовать по порядку. Как-то так. А относительно нумерации от 3301 и т.д., как я описывал выше - то это заморочка всей компании, которая появилась задолго до того как начали компы использовать.
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
03.02.2014, 10:04
1. Можно и в 2003
2. Пока, на уровне легко, можно установить определенное число (т.е. например 20. Тогда при бронировании будет бронироваться 20 документов. В выложенном примере оказывается не сделал про сказанные 8. Сейчас для примера сделал 8). А может быть, что пришло 18 документов, а бронь прошла на 20? Тогда как? Можно эти два зарегистрировать в следующий день? Если нет, то выход есть, но немного неудобный.
3. Файл в формате mdb. Вроде должен открываться?
Вложения
Тип файла: rar Докум2.rar (44.0 Кб, 9 просмотров)
0
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
03.02.2014, 10:06  [ТС]
так вот поэтому и лучше чтобы пользователь сам указывал количество документов для брони. Иначе придется что-то изобретать чтобы лишние брони снимать.

Форма все равно не открывается(((
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
03.02.2014, 10:23
давайте я еще поэксперентирую, как добьюсь, чтобы бронировалось сколько надо оператору, то можно тему на 99 процентов считать закрытой. остальное решаемо.
0
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
03.02.2014, 10:26  [ТС]
ок )) спасибо
0
 Аватар для VinniPuh
9147 / 6176 / 594
Регистрация: 27.03.2013
Сообщений: 20,046
03.02.2014, 14:34
Цитата Сообщение от Panzermensch Посмотреть сообщение
...Форма все равно не открывается(((...
Да тоже попробовал. Сразу ошибка вылезает. Может это из за того, что у меня Акс 2000. а не 2002?
Вот так:
Часто бывает, но обычно борюсь с этим так:
ИЛИ
В МЕНЮ
Сервис - Служебные программы - Преобразовать базу данных - В формат Акцесс 2000...
или
Создав ЧИСТУЮ БД и импортировав в нее ВСЕ, ошибка изчезает,
но не в этот раз.
Когда такое окошко вылезает, в 99 % ни чего поделать нельзя, или просто не знаю как.
Миниатюры
Нумерация в БД  
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
04.02.2014, 20:37
Прошу всеобщей помощи для продолжения темы Panzermensch. Я хотел сделать свой макет на его файл. Сделал в формате mdb (почему-то на некоторых компах не открывается). Хочу объяснить, что сделал и на чем остановился.
1. В форме Рег_докум в верхней части (Загаловок) выбирается пользователь;
2. В поле Кол-во документов (пока не работает) необходимо забронировать некоторое число номеров документов, с которыми пользователь будет работать. Например: 7;
3. Нажимаем кнопку Бронь номера. При этом в таблице Номерагалочками отмечаются Номера по возрастанию (не важно в каком порядке они записаны) и проставляется пользователь, который их забронировал.
4. Ниже в поле номер идет выбор забронированных номеров, присваивается им название и т.д.
Все работает только при одном бронировании, т.е. пока таблица Номера чистая или, если мы второй раз выберем число забронированных номеров больше, чем было в первый раз. Я знаю причину этого, не знаю как ее устранить.
Бронь происходит через запрос на Добавление. Причем в запросе установил счетчик и все номера постоены по возрастанию. Далее устанавливаю условия: показать не зарегистрированные (поле логическое=Ложь), поле Сотрудники Is Null и самое главное показываю на поле Счетчика условие выбрать цифры <= взятых из формы в поле Кол-во документов (пока не работает)).
Когда таблица пустая он выбирает с 1 по 7. Но если в таблице уже забронированы номера, я мы выбираем после 7 цифру 5, то по условию отбора = Ложь на счетчике показываются номера от восьмого и выше. Т.е. Необходимо сделать так, чтобы при выполнении условия = ложь, что-то отсеялось, а что-то осталось, но то, что осталось должны начинаться на счетчике с цифры 1. Тогда вопрос решен и все пойдет.
Вложения
Тип файла: rar Документы.rar (38.5 Кб, 4 просмотров)
0
 Аватар для Андрэич
2842 / 774 / 41
Регистрация: 20.05.2012
Сообщений: 2,055
04.02.2014, 21:23
А какая тут Всеобщая помощь?
С кубиков начинать объяснять?
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
04.02.2014, 21:51
Я понимаю Вашу иронию и все же. Вопрос такой: как сделать запрос, в котором при любом условии отбора счетчик начинается с единицы (прочитал, что он с единицы не будет)? Путем еще двух запросов заставил в итоге появиться поле (а-ля счетчик), но при снятии данных в запрос на обновление (кстати, у меня выше был указан запрос на добавление - ошибка) пишет: "В операции должен использоваться обновляемый запрос".
Рабочие запросы: Запрос1-Запрос2-Запрос3-Бронь. Навсякий случай прикрепляю файл с данной наработкой.
Вложения
Тип файла: rar Документы22.rar (41.2 Кб, 7 просмотров)
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
04.02.2014, 22:07
Panzermensch! Сдается мне, что надо сдаваться. Слабовато что-то! Извените!
Но задачка все же осталась не решена. Плохо.
1
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
05.02.2014, 07:14  [ТС]
И все же спасибо ))

Добавлено через 4 минуты
А что если создать заранее созданную таблицу, в которой вбить нужный диапазон номеров (фиг с ними что много) и просто последовательно добавлять туда записи? Возможно как то решить чтобы записи не пересекались? То есть 10 документов одного оператора вносились бы последовательно и т.д.

Добавлено через 16 минут
хотя в таком случае самым лучшим для меня будет чтобы было несколько таблиц с указанными диапазонами, а при достижении максимального значения запись в таблицу прекращалась бы и начиналась в следующуу
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
05.02.2014, 08:29
Panzermensch,
1. Для работы можно сказать все готово. Хотел сделать, чтобы бронировалось столько номеров, сколько надо оператору. Сейчас готов на бронь поставить ВСЕГДА ТОЧНОЕ КОЛИЧЕСТВО номеров. Т.е. если из практики вы определите, что оператору в среднем на день необходимо 20 номеров, то можно поставить чтобы бронировалось по умолчанию 20. Можно поставить 10. Например: он их израсходовал , если в течении дня оператору надо еще 10, то он бронирует еще 10 (тогда последовательность номеров естественно прервется).
2. Или такой вариант: оператор бронирует 20 номеров. Использовал за день 18. Тогда 2 номера остаются не взятыми в работу. Это приемлемо или нет (последовательности в номерах все равно нет, но у каждого документа все равно будет свой уникальный номер).
3. Возможен вариант: Оператору сначало по умолчанию забронировал 20 номеров. Потом ему принесли еще 16 (или такого не может быть, т.е. документы за определенное число приносятся один раз), тогда он звонит вам и говорит: Panzermensch, забронируй 16 номеров. и вы можете их забронировать.
4. самый простой: если у всех операторов стоит Access (не AccessRunTime), то покажите им хитрое поле в конструкторе запроса на обновление, в котором можно делать все, что угодно и они смогут забронировать номеров сколько захотят. Я не знаю как его вытащить на форму. А допустить всех к сердцу программы опасно (нечаяно могут исполтить).
Чесно говоря наговорил много, а вы поняли?
0
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
05.02.2014, 08:59  [ТС]
По моему мы уже ушли далеко от того, что я хотел изначально. Прилагаю исходный вариант, который у меня был.

Почему нельзя сделать так:

если значение в поле otpr больше 3899, то сделать следующее значение равным 4000, если значение в поле otpr больше 4899 то следующее сделать равным 5000 ведь по сути это поле может и не зависеть ни от чего?

Просто давайте отталкиваться от того - можно так сделать или нет? Бронирование, последовательность, не суть важны.

Или как вариант - сейчас пользователь вводит число и в БД автоматом забивается нужное количество строк с фамилией оператора. Я полагаю сделать болванку таблицы с вбитыми как мне надо номерами, а заполнение будет идти с привязкой к какому-либо полю с условием что оно пустое: к последнему пустому полю +10 строк с такой-то фамилией. Надеюсь объяснил нормально.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
05.02.2014, 09:22
Во вложении реализована схема нумерации в единой таблице.
Документы с уникальным номером по году-месяцу. В открывающейся форме создаются записи с последовательными (с учетом заданных в таблице Диапазоны интервалов номеров) для конкретно пользователя, даты и выдачи (в день м.б. несколько выдач одному пользователю) номерами.
Схема исключительно для просмотра и тестирования, поэтому в рабочей версии часть полей можно будет убрать. С выдачей должен работать только один пользователь, иначе номера в выдаче могут стать непоследовательными. Функция-нумератор уже приводилась.
Вложения
Тип файла: 7z Нумерация.7z (24.6 Кб, 6 просмотров)
1
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
05.02.2014, 10:32  [ТС]
в том-то и дело, что одновременно запись будет вести несколько человек. Поэтому прошу помочь мне с моим предыдущим вопросмо - просто присвоение номера по достижении определенного значения.

Попробую конечно из Вашего примера, вот только бы его сначала открыть, ошибка(((
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
05.02.2014, 10:37
Цитата Сообщение от Panzermensch Посмотреть сообщение
в том-то и дело, что одновременно запись будет вести несколько человек.
Вы внимательно читаете - выдавать (резервировать) номера должен один человек. А вводить документы (номера уже есть) может несколько - они работают с уже заполненными номерами записями.
0
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
05.02.2014, 10:57  [ТС]
оооо, попробую, если что еще отпишусь

Добавлено через 18 минут
не получатся открыть БД, при попытке открыть конструктор - вылетает. Также не совесем понял принцип работы. Форма резервирования номеров, но почему-то не работает - нельзя изменить исполнителя, количество документов...

Может Вы мне код скините? а я попробую разобраться.
0
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
05.02.2014, 11:04
Все! Решение нашел по своему способу! Работает прекрасно! Ждите, скоро будет! Только надо открыть мой файл. Пробовал разобраться в вашей базе. Не получилось. Нет связей и т.д. Давайте чуть подождем, выложу и продолжим.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
05.02.2014, 11:23
Во вложении база, сделанная в 2002/2003 версии, эта должна читаться.
Вложения
Тип файла: 7z Нумерация1.7z (21.0 Кб, 3 просмотров)
1
Эксперт MS Access
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
05.02.2014, 11:28
Все! теперь моя душа полна! Посмотрите!
Вложения
Тип файла: rar Докум3.rar (42.0 Кб, 10 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.02.2014, 11:28
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru