powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Из скрипта, управляя формой, создать новую запись, и послать в базу
3 сообщений из 3, страница 1 из 1
Из скрипта, управляя формой, создать новую запись, и послать в базу
    #32540291
Dmitry S. Kravchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Когда, работая в форме, вызываешь команду "создать запись", то форма опустошается, в клетки вписываются значения по умолчанию. В этот момент в базу еще ничего не занесено.

Как только в форум что-нибудь вписываешь, на корешке записи появляется изображение карандаша. В этот момент в базу еще ничего не занесено.

После этого есть несколько вариантов. Можно закрыть форму или уйти на другую запись - тогда в момент этого события, введенные данные будут переданы в базу.

Можно нажать ESC, тогда данные исчезнут.

А можно ткнуть мышкой в изображение карандаша и тогда данные пойдут в базу, а текущая запись останется прежней.

****
Внимание, вопрос:

Как, командуя формой из скрипта, имитировать последние два действия, то есть, отмену ввода данных и посылку данных в базу не сменяя текущей записи?

****
Я сделал форму с подчиненной формой. Родительская форма содержит строки, соответствующие текущему дню. Поэтому скрипт проверяет, наступил ли новый день. Если "нет", то просто перемещается к нужной родительской записи. А если "да", то создает новую запись.

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

Как управиться?

Пасиб.

Димс.
...
Рейтинг: 0 / 0
Из скрипта, управляя формой, создать новую запись, и послать в базу
    #32540329
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создать
DoCmd.GoToRecord acDataForm, "Форма1", acNewRec

Отменить
Me.Undo (или создать мастером аналогичную кнопочку и посмотреть код, там он будет другим)
В примере хелпе есть еще вариант (он вычистит новую запись вместе со значениями по умолчанию)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    Dim ctlC As Control
        ' Для каждого элемента управления.
        For Each ctlC In Me.Controls
            If ctlC.ControlType = acTextBox Then
                ' Восстанавливаем исходное значение.
                ctlC.Value = ctlC.OldValue
            End If
        Next ctlC

Сохранить
DoCmd.RunCommand acCmdSaveRecord
или
Me.Dirty = False
Или сделать кнопку мастером и взять ее код

По поводу подчиненной формы - чуть подробнее, если можно.
...
Рейтинг: 0 / 0
Из скрипта, управляя формой, создать новую запись, и послать в базу
    #32541181
Dmitry S. Kravchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр, про подчиненные формы - это не другой вопрос, а тот же. Просто ситуация, в которой мне было нужно то, что я спрсил.

Видимо, поможет то, что Вы сообщили.

Теперь у меня в форме в обработчике открытия код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
    If DMax("Дата", "День") = Date Then
        Set rs = Me.Recordset.Clone
        rs.FindLast "TRUE"
        Me.Bookmark = rs.Bookmark
    Else
        DoCmd.GoToRecord , , acNewRec
        DoCmd.RunCommand acCmdSaveRecord
    End If

Димс.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Из скрипта, управляя формой, создать новую запись, и послать в базу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]