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

Значение предыдущей записи +1

05.04.2013, 00:43. Показов 4961. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.

Нашёл на форуме много вариантов, что бы по в поле формы "значение по умолчанию" ставилось "максимальное число + 1". Мне надо почти тоже самое, но не к максимальному значению прибавлять +1, а к предыдущему.

То есть 1 набито. Все следующие строчки автоматически по умолчанию 2-3-4-5. Затем по умолчанию выскакивает "6", а человек меняет эту цифру на "1" и следующие создаваемые строчки 2-3-4-5. В таком духе.

Весь вечер рою форум, но именно по-моему запросу ничего найти не могу.


/

Не по теме:

Переделал базу четвертый раз. Теперь нет подстановок в таблицы, а в самих сводных таблицах почти везде хранятся ссылки на ключевые поля таблиц-справочников, а не данные. Всё стало прощё.



Добавлено через 11 минут
Почитав ещё, и добавив то, что мне писали в аналогичной теме в начале месяца, вроде пришёл к решению проблемы.

Создал запрос на добавление., который выбирает по функции
Visual Basic
1
 Выражение1: Nz(DMax("[Код]";"[БазаЗаданий]");0)
В итоге строчка с последним значением счетчика улетает в специально созданную для этого таблицу. Там такая строчка всего одна.
Затем в ещё одном запросе связываю результат таблицы в которой хранится число последнего счетчика с основной таблицей. Связываю их по полю счетчика. В поля запроса заношу поле интересующего порядкового номера. И это тоже превращаю в запрос на добавление. Добавляет в ещё одну специальную таблицу с одной строчкой.
Через функцию ( DMax) в поле «по умолчанию» формы данные второй вспомогательной таблицы записывается в рабочую таблицу.

И в завершение запросы на удаление. Они чистят две вспомогательные таблицы, что бы там всегда было не более одной строчки.
Наверное, не оптимально, но пока что на тестах работает.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.04.2013, 00:43
Ответы с готовыми решениями:

Значение из предыдущей записи этого же поля
Необходимо: Взять значение из поля 1 , проверить на соответствие критерию, если да - то в поле 2 указывается значение поля 1, если нет, то...

Значение полей формы из предыдущей записи
Здравствуйте. Помогите, пожалуйста, решить задачу. Есть форма, поля ID, a и b. ID - счетчик a - число b - текстовое ...

Access, в поле значение по умолчанию из предыдущей записи этого же поля
я в аксессе новичок, мало что понимаю. но работу облегчить хочу. можно ли в поле по умолчанию выставить значение из предыдущей записи...

6
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
05.04.2013, 03:51
Было бы неплохо, если бы вы рассказали причину всех этих телодвижений, возможно есть решение проще.
0
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 110
05.04.2013, 08:17  [ТС]
База. В ней ведется учет деталей модели обуви.

Структура следующая:

Модель 1 - Деталь 1 - №1
Модель 1 - Деталь 4 - №2
Модель 1 - Деталь 5 - №3
Модель 1 - Деталь 8 - №4
Модель Омега - Деталь 1 - №1
Модель Омега - Деталь 2 - №2
Модель Омега - Деталь 5 - №3
Модель 2 - Деталь 3 - №1
Модель 2 - Деталь 4 - №2

Поле счётчика не подходит ибо на новой модели идет новый отсчет количества деталей.

Или та же самая суть в другом примере. Выписывают бумажки в производство. Бумажки нумеруются по порядку. С 1ого до 999ти. Когда доходит до тысячи, то нумерация начинается сначала. Из-за этого поле счётчика не подходит.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
05.04.2013, 08:58
Не правильно построена БД, должно быть две таблицы, а не одна. В первой модели, во второй детали с кодом модели и номером (если он нужен, но можно и без него, ибо в на выходе нумерацию всегда можно построить).
А вот во втором примере нужно строить отдельное поле в таблице с номерами, которые вручную править нельзя.
0
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 110
05.04.2013, 09:39  [ТС]
Так и сделано. Есть таблица с моделями. Есть таблица с деталями.
А есть ещё одна таблица в которой указывается порядок выкладывание деталей в модели. "Сначала кладем такую-то деталь в этой модели. Затем такую-то деталь кладем. Третьей кладем такую-то деталь".

"А вот во втором примере нужно строить отдельное поле в таблице с номерами, которые вручную править нельзя" - ну вот я и не знаю как его построить. Второй счётчик акцесс не разрешает сделать.
И править в ручную-то придётся. Когда достигнет "999", надо же что бы указали, что "теперь начинай с первого номера"
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
05.04.2013, 10:30
Цитата Сообщение от Ruido Посмотреть сообщение
Поле счётчика не подходит ибо на новой модели идет новый отсчет количества деталей.

Или та же самая суть в другом примере. Выписывают бумажки в производство. Бумажки нумеруются по порядку. С 1ого до 999ти. Когда доходит до тысячи, то нумерация начинается сначала. Из-за этого поле счётчика не подходит.
Цитата Сообщение от Ruido Посмотреть сообщение
И править в ручную-то придётся. Когда достигнет "999", надо же что бы указали, что "теперь начинай с первого номера"
Т.е. надо понимать, что нумераторное поле от 1 до 999 нужно только в отчете, в "бумажке в производстве"? Тогда зачем о нем вообще думать в структуре данных. В отчете есть нумераторные средства, позволяющие создать то, что вам нужно. В группе по модели создается свободное поле с источником =1, а свойстве Сумма с накоплением этого поля (RunningSum) пишется "для группы". И все, перечислитель (нумератор) готов
0
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 110
05.04.2013, 22:49  [ТС]
Нет. Надо что бы нумерация эта сохранялась. Из неё формируется номер задания и на это многое подвязано. Но я запросами на добавление в целом решил проблему. Не очень красиво, наверное, но работает же.

Сейчас буду задавать новый вопрос.

Не по теме:

Даже не верится, что почти всё готово...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.04.2013, 22:49
Помогаю со студенческими работами здесь

Заполнить значение поля таблицы из другого поля этой же таблицы, но предыдущей записи
У меня есть таблица кассовая книга. В ней содержатся данные по каждому рабочему дню: Дата, остаток на начало дня, приход, расход, остаток...

Обратиться к предыдущей записи
вот такой вопрос: допустим есть 2 поля в форме "остаток" и допустим "поле 2", как с помощью выражения или байсика аксесовского сделать...

Обращение к предыдущей записи
Доброго времени суток. Вторую неделю читаю форум по данной проблеме, но все не могу найти что-то подходящее (либо не могу нормально...

Вывод значения предыдущей записи в форму
В форме существует поле со списком. В поле вносятся данные из списка. Значение сохраняется форма закрывается. Создается новая запись через...

Вывод в поле предыдущей записи таблицы
Здравствуйте. заранее пардонте за 100% глупый вопрос... мамой клянусь не первый день ответ ищу :cry: не могу вывести в поле прошлую...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru