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

Значение поля по двум параметрам предыдущей записи

26.09.2019, 17:41. Показов 2555. Ответов 18

Студворк — интернет-сервис помощи студентам
Добрый день!
Ломаю голову как сделать так, чтоб при создании новой записи access значение по умолчанию подтягивалось из "предыдущей" записи/строки - записи с предыдущей даты и с соответствующим номером (не id)? (предыдущие показания определенного прибора учета являлись, в новой записи, текущими, приборов много, запись делается раз в месяц)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.09.2019, 17:41
Ответы с готовыми решениями:

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

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

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

18
Эксперт MS Access
 Аватар для Eugene-LS
12070 / 5851 / 1496
Регистрация: 05.10.2016
Сообщений: 16,447
26.09.2019, 17:52
Цитата Сообщение от s leshenok Посмотреть сообщение
Ломаю голову ...
Почитайте пожалуйста Правила раздела, и старайтесь, насколько это возможно, следовать им.

Если необходимо:
01. Создайте публикуемую версию вашего приложения, если там есть конфиденциальные данные - забейте их ничего не значащими, в достаточном для понимания объёме (несколько записей).
02. Выполните сжатие БД стандартными средствами
03. Проверьте работоспособность публикуемого
04. Сожмите ваше приложение архиватором (Zip, RAR)
05. Опубликуйте полученное на форуме с описанием точки входа (как добраться до вашей траблы) + подробное описание (пара - тройка предложений) того чего вы хотите в результате.

Или просто:
Выкладывайте БД на форум. Попробуем разобраться. Только точно укажите куда смотреть, на что нажимать, что надо увидеть и как должно быть.

Дальше:
ваше решение не сложно.
Вопрос в определении предыдущей записи, а это сильно зависит от устройства БД.
Скорее всего по последней дате - но нужно смотреть ...
0
0 / 0 / 0
Регистрация: 22.01.2019
Сообщений: 9
26.09.2019, 18:04  [ТС]
Есть таблица в которой я вношу показания приборов учета (разных), вношу их ежемесячно, но не в одни и теже даты, а в разные! При добавлении новой записи мне приходится вручную забивать предыдущие показания, хотя они уже были забиты в предыдущем месяце! Хотелось бы чтоб текущие показания предыдущего месяца были текущими этого! Новые записи добавляю в таблицу через форму кнопка на старте "ПУ форма"!
Вложения
Тип файла: rar РРиПУ.rar (8.99 Мб, 9 просмотров)
0
0 / 0 / 0
Регистрация: 22.01.2019
Сообщений: 9
27.09.2019, 12:27  [ТС]
Сорри! Хотелось бы чтоб текущие показания предыдущего месяца были предыдущими этого!
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
30.09.2019, 10:09
Цитата Сообщение от s leshenok Посмотреть сообщение
значение по умолчанию подтягивалось из "предыдущей" записи
Сначала решите для себя, что означает "предыдущая запись"
а) Максимальный код меньше текущего.
б) максимальная дата плюс вариант а.
в) свой вариант
А потом просто вставьте формулу с D-функциями в событие "Текущая запись"
Visual Basic
1
me.моёполе.defaultvalue = "=dlookup("значение", "таблица", "код =" & dmax("код", "таблица", "код < " & me.код))
Это при условии небольшого количества данных, до 2000 записей. Если таблица большая, то нужно строить запрос или работать с рекордсетом.
0
0 / 0 / 0
Регистрация: 22.01.2019
Сообщений: 9
11.11.2019, 16:49  [ТС]
Записей более чем 2000,
ключевые поля -
"№ прибора" (не меняется, их много, каждому свои показания),
"ресурс" (один и тот-же прибор может считать один, два или три ресурса),
"период" (месяца подряд (типа - мес.год))
Т. е. при создании новой записи необходимо в поле "предыдущие" показания вставить "текущие" показания предыдущего месяца с таким-же номером и ресурсом.

Код Внесли Период Ресурс ПредыдущиеТекущие Разница Ед изм
2474 28-авг-2019 авг.19 ХВС 40712,00 43964,00 3252 м.куб
2830 23-сен-2019 сен.19 ХВС 43964,00 46575,00 2611 м.куб
3131 24-окт-2019 окт.19 ХВС 46575,00 49731,00 3156 м.куб
№... любой день ноя.19 ХВС 49731,00 в ручную (предыдущие - текущие) м.кубH 
Вот такая нелегкая задача (для меня)!

К сожалению не удается форматировать таблицу для удобного просмотра!
0
0 / 0 / 0
Регистрация: 22.01.2019
Сообщений: 9
11.11.2019, 16:56  [ТС]
Смотреть форму "ПУ форма" или таблицу "Расход ресурсов"
Вложения
Тип файла: rar Показания.rar (8.81 Мб, 4 просмотров)
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,934
Записей в блоге: 4
11.11.2019, 17:07
Цитата Сообщение от s leshenok Посмотреть сообщение
К сожалению не удается форматировать таблицу для удобного просмотра!
разделитель столбцов -вертикальная черта ||||
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
12.11.2019, 04:53
Цитата Сообщение от s leshenok Посмотреть сообщение
или таблицу "Расход ресурсов"
Хранить расчётные поля в таблицах необходимо крайне редко. Предыдущему и разнице там делать нечего.
Всё это вычисляется в запросе, но чтобы это сделать, необходимо:
1) Убрать все поля подстановки из таблицы, особенно с поля Период.
2) Преобразовать тип поля Период в дату в формате YYYYMM.

Тогда в запросе можно будет связать таблицу саму с собой по номеру и периоду и вывести в одно поле текущие значения прошлого месяца, а в другое значения текущего месяца. И разницу получить в этом же запросе.
А с данными костылями эта операция не осуществима.
1
0 / 0 / 0
Регистрация: 22.01.2019
Сообщений: 9
12.11.2019, 10:43  [ТС]
В моем случае мне при вводе данных необходимо сразу видеть результат и анализировать его, вводить данные через запрос неудобно. С полем период я вообще намучался, я ввожу данные в разное время, а в поле "дата" нельзя внести только мес и год! т.е. при вводе у меня мне необходимо будет каждый раз вводить одну и туже дату каждого периода, что не очень удобно и может привести к ошибкам, если я буду ставить текущую дату то будут проблемы с перекрестными запросами! Всё не то и все не так!))))
Я попробовал по Вашему сделать, честно говоря ничего не вышло, не хватает мозгов!

Спасибо!
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
12.11.2019, 10:45
Цитата Сообщение от s leshenok Посмотреть сообщение
вводить данные через запрос неудобно
Согласен. Для этого используют формы с полями со списком. Настройка этих полей обсуждается в каждом пятом вопросе на форуме.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
12.11.2019, 10:53
Вот пример
Вложения
Тип файла: rar Тест.rar (23.0 Кб, 12 просмотров)
0
0 / 0 / 0
Регистрация: 22.01.2019
Сообщений: 9
12.11.2019, 10:54  [ТС]
Всмысле: разделенная форма?))
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
12.11.2019, 10:56
Цитата Сообщение от s leshenok Посмотреть сообщение
Всмысле: разделенная форма?))
Где?
0
0 / 0 / 0
Регистрация: 22.01.2019
Сообщений: 9
12.11.2019, 10:58  [ТС]
В файле "Тест" я не вижу статистики, а это очень важно при вводе!

Добавлено через 1 минуту
я имел ввиду, что для вводы данных в моем случае можно использовать разделенную форму - наверное!)))))
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
12.11.2019, 11:01
Я не пользовался такими формами, мне хватало главной с подчинённой всегда. Как бы то ни было, я с полями подстановки дел не имею, чай не ассенизатор.
0
0 / 0 / 0
Регистрация: 22.01.2019
Сообщений: 9
12.11.2019, 11:15  [ТС]
Разделенная форма мне не подходит, я попробовал, поэтому только форма с подчиненной таблицей - в связи с этим от поля "ИТОГ" избавляться нельзя, т.к. высока вероятность пропустить скачки в статистике и как следствие от поля "предыдущие" тоже избавится не получится! Вопрос не решен!))))))

Мне нужно что-то типа (поле "Текущие")=(значение поле "предыдущие", "тот-же номер" "тот-же ресурс", "последняя дата поля "внесли"")

))))Бред!))
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
12.11.2019, 14:12
s leshenok,

Что-то вроде этого:
SQL
1
=DLookUp("Текущие";"Таблица";"НомерПрибора=" & НомерПрибора & " AND Ресурс=""" & Ресурс & """ AND Внесли=" & Format(DMax("Внесли";"Таблица";"НомерПрибора=" & НомерПрибора & " AND Ресурс=""" & Ресурс & """ AND Внесли<" & Format(Внесли;"\#mm\/dd\/yyyy\#");"\#mm\/dd\/yyyy\#"))
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
13.11.2019, 03:49
Цитата Сообщение от s leshenok Посмотреть сообщение
Разделенная форма мне не подходит, я попробовал
Молодец, но я писал:
Цитата Сообщение от alvk Посмотреть сообщение
Я не пользовался такими формами
в течении 12 лет. Надеюсь это о чём-то говорит.
Цитата Сообщение от s leshenok Посмотреть сообщение
Мне нужно что-то типа
Я уже ответил, что необходимо сделать. Повторять есть смысл?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.11.2019, 03:49
Помогаю со студенческими работами здесь

Копирование предыдущей записи поля
Необходимо, чтобы при определенном условии копировалось предыдущее значение поля. Private Sub б_AfterUpdate() If б.Text =...

Перенос поля из предыдущей записи в следующую (запрос)
Люди добрые!Помогите!Проблема: есть отчёт,а в нём: приход - расход(по статейно)= Остаток валюты по отчёту. Так вот, как мне сделать...

Запрос с параметром и если в результате не единственное значение то выборка уже по двум параметрам
Мужики помогите. Нужно выбрать допустим студента из базы данных через запрос с параметром (допустим по фамилии) но так как студентов с...

Значение предыдущей записи +1
Добрый день. Нашёл на форуме много вариантов, что бы по в поле формы &quot;значение по умолчанию&quot; ставилось &quot;максимальное число +...

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера 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