![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 28.07.2016
Сообщений: 7
|
![]()
есть таблица "Сотрудники" и ей аналогичная "Сотрудники_история". Записи добавляются через форму.
Сначала, на событии формы "Текущая запись" мы собираем в массив текущие значения полей. Затем при нажатии кнопки "сохранить" проверяем, если были внесены изменения (Me.Dirty = True), то в открытый рекордсет таблицы "Сотрудники_история" добавляем строку, куда переносим ВСЕ данные, ранее собранные в массив, и сохраняем запись. подскажите пожалуйста, как сделать чтобы в таблицу добавлялись уже измененные значения, а не старые. как правильно прописать recordset? получается нужно, чтобы после проверки он собрал новые значения вот сам код: Option Compare Database Dim Rec() Private Sub Form_Current() ReDim Rec(Me.Recordset.Fields.Count - 1) For i = 0 To UBound(Rec) Rec(i) = Me.Recordset.Fields(i) Next End Sub Private Sub Сохранить_Click() Dim UserName As String UserName = Environ("USERNAME") If Me.Dirty Then Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Сотрудники _история", dbOpenDynaset) rst.AddNew For i = 0 To UBound(Rec) rst.Fields(i) = Rec(i) Next i rst.Update End If Me!ДатаИзменения = Date + Time Me!Автор = UserName DoCmd.RunCommand acCmdSaveRecord ReDim Rec(Me.Recordset.Fields.Count - 1) For i = 0 To UBound(Rec) Rec(i) = Me.Recordset.Fields(i) Next End Sub заранее благодарю) Последний раз редактировалось sharamet91; 28.07.2016 в 18:15. Причина: уточнение |
![]() |
![]() |
![]() |
#2 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]()
Прикрепите тестовую базу с формой и таблицами.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 28.07.2016
Сообщений: 7
|
![]()
вот... и может еще подскажите как сделать корректную работу при добавлении новых записей?
|
![]() |
![]() |
![]() |
#4 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]()
так пробовали?
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 28.07.2016
Сообщений: 7
|
![]() |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 12.08.2010
Сообщений: 1,079
|
![]()
не увидела объявления переменной REC
а ведь она формируется в одной процедуре, а применяется в другой должно быть внешнее объявление типа Код:
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание Последний раз редактировалось shanemac51; 29.07.2016 в 15:32. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 28.07.2016
Сообщений: 7
|
![]() |
![]() |
![]() |
![]() |
#8 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]()
shanemac51 в базе Rec() описан
Код:
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
![]() |
![]() |
![]() |
#9 |
Регистрация: 28.07.2016
Сообщений: 7
|
![]()
отлично, заработало)
но теперь при добавлении новой записи и нажатии кнопки "сохранить" все обновляется - форма становится пустой. и соответсенно вылетает ошибка |
![]() |
![]() |
![]() |
#10 | |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]() Цитата:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Учет времени | ЯковЗимин | Microsoft Office Excel | 2 | 29.07.2014 18:00 |
БД Учет оборудования | a9x | Microsoft Office Access | 0 | 02.06.2013 00:58 |
ИС Учет ПК и ПО на C# | aliendeath | Фриланс | 0 | 05.05.2013 16:50 |
Учет задолженности | SoLNiFFFKo | Помощь студентам | 2 | 05.04.2013 15:55 |