|
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
|
|
Нумерация в БД30.01.2014, 12:38. Показов 7417. Ответов 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
|
|
| 30.01.2014, 12:46 [ТС] | |
|
Вот, полностью то что есть
0
|
|
|
2837 / 1378 / 216
Регистрация: 13.05.2011
Сообщений: 4,220
|
|
| 30.01.2014, 12:52 | |
|
0
|
|
|
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
|
|
| 30.01.2014, 12:57 [ТС] | |
|
не принципиально, как я понял, лучше бы это бы это был самописный счетчик. А вообще - такая нумерация документов, которые вносятся в БД
0
|
|
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 30.01.2014, 13:01 | |
|
А какое поле и в какой таблице ставится этот номер. Без этого функцию-нумератор не написать.
0
|
|
|
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
|
|
| 30.01.2014, 13:04 [ТС] | |
|
В прикрепленной БД есть таблица 3301, по идее в ней в поле otpr должна вестись вся нумерация, вторая таблица служит для того чтобы по запросу, оператор мог редактировать суммы в поле ст28. конкретно по тому диапазону, который он набил за день. То есть чтоб он запрашивал для редактирования именно свой диапазон.
0
|
|
|
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
|
|
| 30.01.2014, 13:33 | |
|
Panzermensch - скачайте примерчик вот от сюда БД "Школа-2014"
Откройте БД, форма - Помещения, - Вкладка - Имущество - в поле - Наименование пишете чего надо. при переходе на другое поле в поле - Инв. № автоматом проставляется Номер=последнему занесенному номеру + 1, это если нумерация должна продолжаться вне зависимости от того к какому кабинету наименование имущества относится. Если же вам нужно, чтобы номер был в зависимости от того в какой записи вы в настоящий момент находитесь и она продолжалась от последней именно в этой записи. то смотрите в прилагаемом примерчике - в событиях поля - Отдых формы ФИО Ну и естественно нужно смотреть маску ввода поля номера.
0
|
|
|
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
|
|
| 30.01.2014, 13:40 [ТС] | |
|
Спасибо, но видимо не совсем мой случай))
0
|
|
|
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
|
|
| 30.01.2014, 13:48 | |
|
0
|
|
|
2837 / 1378 / 216
Регистрация: 13.05.2011
Сообщений: 4,220
|
|
| 30.01.2014, 13:52 | |
|
Посмотрите, может это ваш случай. Если нет требований к нумерации, то сделал свою.
0
|
|
|
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
|
|
| 30.01.2014, 13:52 | |
|
Извиняюсь, архивчик просмотрел, а нумерация в ГДЕ нумеруется, не нйду чёйта
0
|
|
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
||||||
| 30.01.2014, 13:57 | ||||||
|
Предполагается
1. Нумерация таблицы 3301, поле otpr - уникальный индекс (понадобится для уникальности номеров) 2. Таблица Диапазоны с Вашими диапазонами номеров. 3. Тогда такая функция дает следующий номер из заданных диапазонов
1
|
||||||
|
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
|
|
| 31.01.2014, 07:39 [ТС] | |
|
Спасибо!
То что надо )) Вот только как теперь эту функцию прикрутить к коду, чтобы автоматом при вводе данных с формы "vidacha" подставлялись нужные значения?
0
|
|
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
|
| 31.01.2014, 08:35 | |
|
Предположительно: в процедуре этой формы Private Sub доб_Click() есть добавление записи в таблицу 3301. Там и используйте: rs("otpr") = NN(). Остальное, связанное с диапазонами, из этой процедуры можно будет удалить. Но придется добавить обработку ошибки (если несколько пользователей займут одинаковый номер) - получать другой номер.
0
|
|
|
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
|
|
| 31.01.2014, 09:05 [ТС] | |
|
Дело в том, что пользователи забивают документы пачками, и нумерация не должна идти вразнобой. То есть: у Иванова 20 документов и значит в таблице должно быть что Иванов 21 числа забил 20 документов с 3415 по 3434, и Петров в этот же день может забивать документы только с номера 3416.
Это было решено в начальной версии, которую я прикрепил в начале темы. Но проблема была с переходом по диапазонам. Пользователь просто указывал количество документов в пачке и в таблице автоматом забивался указанный диапазон. Как теперь совместить? Чтобы бронировался диапазон и переходила нумерация?
0
|
|
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
||
| 31.01.2014, 09:22 | ||
|
Нумератор есть. Какая разница, сколько номеров нужно сформировать - 1 или 20. А вот непрерывная последовать для конкретного пользователя - это совсем другой вопрос. И в Вашем варианте со счетчиком она не решалась - никто не мешал (если пользователи самостоятельно делали ввод) двум пользователям начать его одновременно и занять значения счетчика вперемежку.
Добавлено через 3 минуты
0
|
||
|
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
|
|
| 31.01.2014, 09:31 [ТС] | |
|
Имеется в виду, что независимо от того оповещает пользователь остальных или нет, он в любое время (когда начинает вводить документы в базу) занимает последовательный промежуток номеров документов.
Добавлено через 4 минуты думаю, что пока не осилю. Поэтому подскажите пожалуйста: можно ли сделать так чтобы при достижении определнного максимального значения запись в таблицу прекращалась и оставшиеся данные вносились с следующую таблицу. Поясню: в 1-й таблице возможны значения от 3301 до 3899, во 2-й от 4000 до 4899 и т.д. Например текущее максимальное значение в первой таблице 3889, пользователь вводит в базу 15 документов. Значит оставшиеся 5 должны записаться уже во 2-й таблице. Мне пока проще чтобы потом все введенные за месяц данные сливались в одну таблицу. Потому что понятия уже не имею как сделать так, чтобы все писалось в одну таблицу.
0
|
|
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
||
| 31.01.2014, 09:41 | ||
|
0
|
||
|
0 / 0 / 4
Регистрация: 12.11.2013
Сообщений: 252
|
|
| 31.01.2014, 09:50 [ТС] | |
|
Сколько будет номеров неизвестно. Оператор каждый раз получает разное количество документов. Мое видение - что при начале работы пользователь сразу указывает количество документов и в таблице БД сразу добавляется указанное количество записей. После этого он открывает введенные им записи и редактирует суммы. В моем примере в начале темы как раз так и сделано.
Последовательная нумерация нужна - потому что это сам процесс обработки документов такой - определенная нумерация, строго по пачкам, то есть если есть на руках у оператора 10 документов то в БД должно отобразиться Иванов 1,2,3,4,5,6,7,8,9,10, а Петров 11,12,13,14,15. Все строго последовательно.
0
|
|
|
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
|
||
| 31.01.2014, 10:01 | ||
|
Петров 1,2,3,4,5,6,7,8,9,10, а Иванов 11,12,13,14,15? Есть наработанные схемы решения подобных задач. Вы от них отмахиваетесь. Что будет в Вашей схеме, если оператору в обед дадут еще несколько документов, из-за того, что другой оператор заболел, например. Что будет, если документ нужно удалить, и т.д.
0
|
||
| 31.01.2014, 10:01 | |
|
Помогаю со студенческими работами здесь
20
Последовательная нумерация
Нумерация строк в запросе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|