|
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
|
|
| 30.01.2014, 12:38 | |
|
Ответы с готовыми решениями:
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
|
|
|
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
|
|
| 03.02.2014, 10:04 | |
|
1. Можно и в 2003
2. Пока, на уровне легко, можно установить определенное число (т.е. например 20. Тогда при бронировании будет бронироваться 20 документов. В выложенном примере оказывается не сделал про сказанные 8. Сейчас для примера сделал 8). А может быть, что пришло 18 документов, а бронь прошла на 20? Тогда как? Можно эти два зарегистрировать в следующий день? Если нет, то выход есть, но немного неудобный. 3. Файл в формате mdb. Вроде должен открываться?
0
|
|
|
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
|
|
| 03.02.2014, 10:06 [ТС] | |
|
так вот поэтому и лучше чтобы пользователь сам указывал количество документов для брони. Иначе придется что-то изобретать чтобы лишние брони снимать.
Форма все равно не открывается(((
0
|
|
|
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
|
|
|
9147 / 6176 / 594
Регистрация: 27.03.2013
Сообщений: 20,046
|
||
| 03.02.2014, 14:34 | ||
![]() Вот так: Часто бывает, но обычно борюсь с этим так: ИЛИ В МЕНЮ Сервис - Служебные программы - Преобразовать базу данных - В формат Акцесс 2000... или Создав ЧИСТУЮ БД и импортировав в нее ВСЕ, ошибка изчезает, но не в этот раз. ![]() Когда такое окошко вылезает, в 99 % ни чего поделать нельзя, или просто не знаю как.
0
|
||
|
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. Тогда вопрос решен и все пойдет.
0
|
|
|
2842 / 774 / 41
Регистрация: 20.05.2012
Сообщений: 2,055
|
|
| 04.02.2014, 21:23 | |
|
А какая тут Всеобщая помощь?
С кубиков начинать объяснять?
0
|
|
|
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
|
|
| 04.02.2014, 21:51 | |
|
Я понимаю Вашу иронию и все же. Вопрос такой: как сделать запрос, в котором при любом условии отбора счетчик начинается с единицы (прочитал, что он с единицы не будет)? Путем еще двух запросов заставил в итоге появиться поле (а-ля счетчик), но при снятии данных в запрос на обновление (кстати, у меня выше был указан запрос на добавление - ошибка) пишет: "В операции должен использоваться обновляемый запрос".
Рабочие запросы: Запрос1-Запрос2-Запрос3-Бронь. Навсякий случай прикрепляю файл с данной наработкой.
0
|
|
|
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
|
|
|
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
|
|
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 05.02.2014, 09:22 | |
|
Во вложении реализована схема нумерации в единой таблице.
Документы с уникальным номером по году-месяцу. В открывающейся форме создаются записи с последовательными (с учетом заданных в таблице Диапазоны интервалов номеров) для конкретно пользователя, даты и выдачи (в день м.б. несколько выдач одному пользователю) номерами. Схема исключительно для просмотра и тестирования, поэтому в рабочей версии часть полей можно будет убрать. С выдачей должен работать только один пользователь, иначе номера в выдаче могут стать непоследовательными. Функция-нумератор уже приводилась.
1
|
|
|
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
|
|
| 05.02.2014, 10:32 [ТС] | |
|
в том-то и дело, что одновременно запись будет вести несколько человек. Поэтому прошу помочь мне с моим предыдущим вопросмо - просто присвоение номера по достижении определенного значения.
Попробую конечно из Вашего примера, вот только бы его сначала открыть, ошибка(((
0
|
|
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
||
| 05.02.2014, 10:37 | ||
|
0
|
||
|
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
|
|
| 05.02.2014, 10:57 [ТС] | |
|
оооо, попробую, если что еще отпишусь
Добавлено через 18 минут не получатся открыть БД, при попытке открыть конструктор - вылетает. Также не совесем понял принцип работы. Форма резервирования номеров, но почему-то не работает - нельзя изменить исполнителя, количество документов... Может Вы мне код скините? а я попробую разобраться.
0
|
|
|
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
|
|
| 05.02.2014, 11:04 | |
|
Все! Решение нашел по своему способу! Работает прекрасно! Ждите, скоро будет! Только надо открыть мой файл. Пробовал разобраться в вашей базе. Не получилось. Нет связей и т.д. Давайте чуть подождем, выложу и продолжим.
0
|
|
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 05.02.2014, 11:23 | |
|
Во вложении база, сделанная в 2002/2003 версии, эта должна читаться.
1
|
|
|
2841 / 1381 / 217
Регистрация: 13.05.2011
Сообщений: 4,224
|
|
| 05.02.2014, 11:28 | |
|
Все! теперь моя душа полна! Посмотрите!
0
|
|
| 05.02.2014, 11:28 | |
|
Помогаю со студенческими работами здесь
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 появились три новые механики — выгорание через накопленную усталость,. . .
|