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

Предыдущая запись как значение по умолчанию

08.03.2013, 22:17. Показов 10520. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Удивительно, но поиском не смог найти, хотя должно быть не первый спрашиваю...

Как в форме вида "Несколько элементов" сделать так, что бы значение предыдущей записи ставилось как значение по умолчанию?

То есть если в предыдущей записи было написано "Модель 1", то в следующей (создаваемой) по умолчанию сразу было "Модель 1". И человек если устраивает - ничего не менял бы. А если надо - тогда выбирал бы нужное из выпадающего списка.


/// снова переделываю свою базу. надеюсь теперь удастся отойти от экселлевской логики.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.03.2013, 22:17
Ответы с готовыми решениями:

Как убрать следующая/предыдущая запись под постом
Собственно вопрос в заголовке. Как убрать эту бяку?

Кнопка следующая запись, предыдущая запись---какие коды
Подскажите пожалуйста коды на кнопки, выполняющие функции "следующая запись, предыдущая запись", по аналогии те что находятся внизу...

Следующая/предыдущая запись mysql
Доброго времени суток. На PHP сделал код для добавления и удаления записей. Есть главная страница, на которой выводятся все записи. ...

47
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
28.07.2016, 10:06
Студворк — интернет-сервис помощи студентам
Visual Basic
1
=DLookUp("[Поле1]";"[Запрос1]";"Дата+Время=" & Format(DMax("[Дата]+Время";"[Запрос1]");"\#mm\/dd\/yyyy\ hh:nn:ss#")
3
 Аватар для zxcvbn12345
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 13
29.07.2016, 07:44
Доброго дня. Спасибо ltv_1953 и mobile за помощь. Все работает ка нужно. Только вот одна проблема возникает. Значение по умолчанию вычисляется один раз, при открытии формы. Если вводится несколько записей, то во всех последующих, начиная со второй вводимой, значение по умолчанию будет статичным, найденным при открытии формы. Возможно ли как-то "повесить" нахождение значения по умолчанию не на открытие формы, а на получения фокуса полем, в котором необходимо выводить значение по умолчанию?

Добавлено через 6 минут
UPD: При том единожды, т.е. если, в последствии, это поле вновь получит фокус, то ранее введенное значение НЕ заменялось на значение по умолчанию.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
29.07.2016, 07:48
на событие "Текущая запись" ставьте.

Цитата Сообщение от zxcvbn12345 Посмотреть сообщение
т.е. если, в последствии, это поле вновь получит фокус, то ранее введенное значение НЕ заменялось на значение по умолчанию.
Покажите на примере, как поменять значение поля на значение по умолчанию при получении фокуса.
0
 Аватар для zxcvbn12345
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 13
29.07.2016, 08:02
Я использую Access 2010, у меня в окне свойств нет события "Текущая запись" (скрин в архиве).
Я пробовал прописывать это вот так в "Получение фокуса".
DefaultValue=DLookUp("[Поле1]";"[Запрос1]";"Дата+Время=" & Format(DMax("[Дата]+Время";"[Запрос1]");"\#mm\/dd\/yyyy\ hh:nn:ss#")
В таком виде работать не хочет. Мои познания в Access в зачаточном состоянии, в виде пробы ухода от Excel. Если поменять значение поля на значение по умолчанию при получении фокуса в принципе не возможно, то тем проще для меня.
0
 Аватар для zxcvbn12345
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 13
29.07.2016, 08:03
Архив:
Вложения
Тип файла: zip События.zip (8.9 Кб, 5 просмотров)
0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
29.07.2016, 08:24
Цитата Сообщение от Ruido Посмотреть сообщение
То есть если в предыдущей записи было написано "Модель 1", то в следующей (создаваемой) по умолчанию сразу было "Модель 1".
Может хватит просто сочетание клавиш Ctrl+" ?
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
29.07.2016, 08:26
Какая Кнопка? Я про события формы писал естественно. и не
Цитата Сообщение от zxcvbn12345 Посмотреть сообщение
DefaultValue
а me.названиеполя.DefaultValue
0
 Аватар для zxcvbn12345
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 13
29.07.2016, 08:37
Цитата Сообщение от Панург Посмотреть сообщение
Может хватит просто сочетание клавиш Ctrl+"
Думаю, что нет. Значение по умолчанию берется из предыдущей записи другого поля.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
29.07.2016, 08:47
Вместо задания значения по умолчанию просто присваивайте значение в процедуре Private Sub Form_BeforeInsert(Cancel As Integer).
0
 Аватар для zxcvbn12345
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 13
29.07.2016, 10:38
Если можно, чуть подробней. Открываю форму в режиме конструктора, выделяю нужное поле ввода, нажимаю на Просмотреть код, и дальше куда, чего, как?
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
29.07.2016, 10:50
Я тоже считаю, что вы всё изучите за 5 минут, это ведь так просто.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
29.07.2016, 10:53
Цитата Сообщение от zxcvbn12345 Посмотреть сообщение
Открываю форму в режиме конструктора
Форма-События-До вставки ... Получается
Visual Basic
1
2
Private Sub Form_BeforeInsert(Cancel As Integer)
End Sub
Внутри процедуры пишите присваивание ... .
0
 Аватар для zxcvbn12345
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 13
29.07.2016, 11:17
Присвоение так прописывается (скрин в архиве)?
Вложения
Тип файла: zip 123.zip (6.4 Кб, 3 просмотров)
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
29.07.2016, 11:22
А просто текст процедуры написать что не позволяет? Например так:
Visual Basic
1
2
3
Private Sub Form_BeforeInsert(Cancel As Integer)
      Me.ВашеПоле=ВашеВыражение
End Sub
0
 Аватар для amd48
845 / 475 / 80
Регистрация: 18.05.2016
Сообщений: 1,267
Записей в блоге: 5
29.07.2016, 11:48
В msa97 была фича: Ctrl+Э - копировало значение ячейки из строки выше. Куда она делась в последующих версиях, не знаю. А было очень удобно. Даже в экселе нечто подобное есть: Ctrl+D и Ctrl+R

Добавлено через 22 минуты
Форма:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim LastF As String
 
Private Sub Form_Current()
If Me.Поле <> "" Then
    If Me.CurrentRecord = Me.Recordset.RecordCount Then
        LastF = Me.Поле
    End If
Else
    Me.Поле = LastF
End If
End Sub
 
Private Sub Поле_Change()
If Me.Поле <> "" Then
    LastF = Me.Поле.Text
End If
End Sub
Надо обязательно побывать в последней записи, чтоб в новой автоматом поставилось её значение
0
 Аватар для zxcvbn12345
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 13
29.07.2016, 12:36
Visual Basic
1
2
3
Private Sub Form_BeforeInsert(Cancel As Integer)
Me.Поле2 = DLookUp("[Поле1]";"[Запрос1]";"Дата+Время=" & Format(DMax("[Дата]+Время";"[Запрос1]");"\#mm\/dd\/yyyy\ hh:nn:ss#"))
End Sub
Ругается на не правильный синтаксис.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
29.07.2016, 12:40
Это текст из конструктора. В VBA и SQL вместо разделителя ";" нужно ставить ",". Выделить DLookUp и нажать F1 для вызова справки что не позволяет?
0
 Аватар для zxcvbn12345
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 13
29.07.2016, 13:31
Visual Basic
1
2
3
Private Sub Form_BeforeInsert(Cancel As Integer)
Me.Поле2 = DLookUp("[Поле1]","[Запрос1]","Дата+Время=" & Format(DMax("[Дата]+Время","[Запрос1]"),"\#mm.dd.yyyy\ hh:nn:ss#"))
End Sub
Я посмотрел справку на Format там ещё вместо mm\/dd\/yyyy точки mm.dd.yyyy. Но и это не помогает. Все равно ругается. "Дата содержит синтаксическую ошибку вы выражении запроса..."
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
29.07.2016, 13:37
Цитата Сообщение от mobile Посмотреть сообщение
Format(DMax("[Дата]+Время";"[Запрос1]");"\#mm\/dd\/yyyy\ hh:nn:ss#")
Цитата Сообщение от zxcvbn12345 Посмотреть сообщение
Format(DMax("[Дата]+Время","[Запрос1]"),"\#mm.dd.yyyy\ hh:nn:ss#"))
Разницу (кроме замены ; на ,) за Вас нужно найти?

Не по теме:

ТС уже и копипастить разучились ... .

2
 Аватар для zxcvbn12345
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 13
29.07.2016, 13:57
Заработало как требовалось. Всем спасибо.

Добавлено через 1 минуту
Может кто порекомендует хороший справочник по VBA?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2016, 13:57

Предыдущая запись foreach DataGridView
Как обратиться к предыдущей записи? Convert.ToSingle(row.Cells.Value) Добавлено через 1 час 17 минут В смысле к...

Предыдущая запись переодического регистра сведений
Здрасте, как получить значение ресурса предыдущей записи регистра сведений. Нужно получить разность значений текущей записи в СКД и...

Как разрешить запись в файл, по умолчанию запись не разрешена
Помогите! НАчинающий php - программист. Как разрешить запись в файл, по умолчанию запись не разрешена. Вот что пишет: Warning:...

Как сделать значение по умолчанию для параметра, если оно должно быть значением по умолчанию для типа T?
Как сделать значение по умолчанию для параметра, если оно должно быть значением по умолчанию для типа T? Module Program Sub Method(Of...

Как сделать учетную запись по умолчанию
На компе есть две учетки Администратор и Гость который отключен Но при перезагрузке компа появляться какая то новая учетная запись с...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru