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

Вывод значения предыдущей записи в форму

04.04.2018, 08:43. Показов 2178. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В форме существует поле со списком. В поле вносятся данные из списка. Значение сохраняется форма закрывается. Создается новая запись через открытие этой же формы. Поле соответственно пустое. Как сделать так чтобы при открытии формы в поле подставлялось значение предыдущей записи.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2018, 08:43
Ответы с готовыми решениями:

Отображение в поле значения предыдущей записи
Всем очень добрый день! Подскажите пожалуйста как вывести на форме, в прилагаемом примере, последнее записанное значение перед новой...

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

Присвоение значения новой записи по значению предыдущей (при условии)
Добрый день. Есть форма для заполнения справочника (внесение по одной записи за раз). При внесении нескольких новых записей значения...

8
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
04.04.2018, 09:14
На событии Загрузка пишем
Visual Basic
1
me.поле = dlookup("поле", "таблица", "код = " & dmax("код", "таблица"))
1
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
04.04.2018, 09:19
Лучший ответ Сообщение было отмечено urman как решение

Решение

Цитата Сообщение от urman Посмотреть сообщение
Как сделать так чтобы при открытии формы в поле подставлялось значение предыдущей записи.
Попробуйте делать это присваивание в
Visual Basic
1
2
3
4
5
Private Sub Form_Current()
        If Me.NewRecord Then
             ...
        End If
End Sub
А уж как определить значение из "предыдущей записи" (по коду, по дате, ... ?) - Вам виднее.

Не по теме:

Опоздал.

0
 Аватар для urman
7 / 7 / 0
Регистрация: 10.04.2015
Сообщений: 282
05.11.2018, 15:12  [ТС]
Подскажите как поступать в этой ситуации. Мне необходимо чтобы подставлялось максимальное значение для открываемого в форме "Исследование" поля ID.

Visual Basic
1
2
3
DoCmd.OpenForm "Исследование", acNormal, acAdd, acNormal
Forms!исследование.ID.Value = Forms![MAIN].[Код].Value
Forms!исследование.Серия.Value = DLookup("Серия", "Направление", "Серия = " & DMax("Серия", "Направление"))
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
05.11.2018, 15:24
Цитата Сообщение от urman Посмотреть сообщение
необходимо чтобы подставлялось максимальное значение для открываемого в форме "Исследование" поля ID.
Предположу, что максимум надо искать в форме Main, а не в какой-то таблице. В таблице можно найти например с помощью Dmax. Для формы есть хороший выход: в примечании формы в свободном поле написать в свойстве Данные
Visual Basic
1
=max(ID)
Считывайте значение этого поля и найдете максимум ID в форме.
1
 Аватар для urman
7 / 7 / 0
Регистрация: 10.04.2015
Сообщений: 282
05.11.2018, 15:49  [ТС]
в форме main производится переход по записям,а уже соответственно для выбранной записи открывается форма "исследование".
Т.е. для значения "код" в главной таблице и форме "MAIN" существует множество значений "ID" в таблице "направление" и на форме "исследование", в ней же и поле "серия". И вот мне нужно чтобы подставлялось максимальное значение "серия" для открытого в форме "исследование" значения "ID".
Я просто не пойму как в этом коде
Visual Basic
1
Forms!исследование.Серия.Value = DLookup("Серия", "Направление", "Серия = " & DMax("Серия", "Направление"))
прописать условие на максимальное значение "Серия" для соответствующего открытого в форме "исследование" поля-значения "ID".
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
05.11.2018, 16:56
Цитата Сообщение от urman Посмотреть сообщение
условие на максимальное значение "Серия" для соответствующего открытого в форме "исследование" поля-значения "ID".
Может быть так?
Visual Basic
1
Forms!исследование.Серия=DMax("Серия", "Направление", "ID=" & Me.ID)
1
 Аватар для urman
7 / 7 / 0
Регистрация: 10.04.2015
Сообщений: 282
05.11.2018, 18:54  [ТС]
Мобайл подскажите еще пожалуйста в этой связи пытаюсь использовать вот такой код
Visual Basic
1
Forms!исследование.Серия.Value = (CurrentDb.OpenRecordset("SELECT Max(Серия)  FROM Направление WHERE ((Направление.ID)=Forms!MAIN.[Код])").Fields(0)) + 1
запрос
SQL
1
SELECT MAX(Серия)  FROM Направление WHERE ((Направление.ID)=Forms!MAIN.[Код])
в конструкторе работает, а в VBA не в какую ничего не могу понять. Ошибка "слишком мало параметров требуется 1". Т.е. я так понимаю запрос в VBA не видит поле Forms!MAIN.[Код]. Хотя в тоже самое время запрос с этим же условием отрабатывается.
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
05.11.2018, 19:13
Цитата Сообщение от urman Посмотреть сообщение
я так понимаю запрос в VBA не видит поле Forms!MAIN.[Код]. Хотя в тоже самое время запрос с этим же условием отрабатывается.
Именно так. Запрос в конструкторе порождение Access и понимает что такое формы. А в коде работает DAO (или ADO) ничего не знающие о формах. Попробуйте вынести ссылку на форму из строки SQL, задав не ссылкой, а значением
Visual Basic
1
2
Forms!исследование!Серия = CurrentDb.OpenRecordset("SELECT Max(Серия) FROM Направление " _
& " WHERE Направление.ID=" & Forms!MAIN.[Код]).Fields(0) + 1
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.11.2018, 19:13
Помогаю со студенческими работами здесь

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

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

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

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

Обращение к предыдущей записи в таблице
Всем привет. Есть бд со следующими таблицами: Customer - справочник клиентов CustID: Уникальный идентификатор клиента CustName:...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
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 с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru