LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Не сохран...
 Тема: Не сохраняются записи в Подчинённой форме.
 
 15.06.2007 21:07:58
NoZZy
3 сообщения


Тема: Не сохраняются записи в Подчинённой форме.
Здравствуйте.
Не сохраняются записи в Подчинённой форме.

Цель:
Создания формы - добавление кучи данных из Excel.
Обработка ведётся пошагово с использованием 3-х последовательных таблиц.
Сначала включается первая, туда через клипборд вставляются данные,
затем отдельные столбцы разделяются на несколько и всё сохраняется во вторую таблицу,
включается вторая, где надо подредактировать (обычно replace), далее, проверки и на их основании добавляется служебная информация (классификация например по регионам, и типам) после требуется подправить и полученные данные и затем они рассовываются по третьим таблицам.

Имеем:
Форма с элементами управления (в тч переключатель подчинённых форм) БЕЗ ДАННЫХ
подчинённые формы (меняются в процессе надобности, переключателем 7 ТАБЛИЧНЫХ форм, каждая основана на ОДНОЙ из 3-х таблиц) меняю командой Me.child.SourceObject = ...

Проблема:
После добавления каналов во 2-ю таблицу, открывается её подчинённая форма, в которой меняется (вставляются через клипборд) например Столбец регионов.
Именно эти изменения не сохраняются.
Заметил, что они корректно отображаются в любой подформе основанной на этой таблице, НО если просто открыть таблицу данных нет + все записи заблокированы.

Обновления и попытки сохранить запись не срабатывают (пробовал переназначить/обновить/закрыть рекрдсет подчинённой формы).
Пробовал обновить главную форму (рекордсета в ней нет, его обновлять не пробовал)
остаётся только открывать/закрывать форму ИМХО это не выход.
Пробовал играться с блокировками записей.
Везде динамические наборы, таблицы локальные.
Версия MS-Access 2002(XP).

Код (что пробовал):

Me.child.Form.Recordset.Refresh
Me.child.Form.Recordset.Requery
Me.child.Form.Recordset.Edit
Me.child.Form.Recordset.Update
DoCmd.RunCommand acCmdSelectAllRecords
DoCmd.RunCommand acCmdSaveRecord
Me.child.SourceObject = Me.child.SourceObject
Me.child.Form.Recordset.Close
Me.child.SourceObject = str
Me.child.Refresh
Me.child.Requery

Где
Пробовал str = "Таблица.tbl"
Пробовал str = "Запрос.tbl_1" 'основанный на таблице
Пробовал str = "tbl" 'табличная форма, основанная на таблице
Child – название объекта подчинённой формы.

вроде ничего не забыл.

Заранее благодарен.

ЗЫ извиняюсь что много, зато - должно быть понятно.


P.S. Общий раздел по формам
Автор: NoZZy от 28.01.2004 11:54:04 Источник ...
 15.06.2007 21:07:58
NoZZy
3 сообщения


Могу выслать пример (MS-Access 2002(XP))
Могу выслать пример (MS-Access 2002(XP))
50 Кб - zip
32 Кб - rar



P.S. Общий раздел по формам
Автор: NoZZy от 28.01.2004 17:51:11 Источник ...
 15.06.2007 21:07:58
NoZZy
3 сообщения


Добавление (Транзакции)
решил попробовать применить фильтр (при этом тоже должно обновиться) так онн выдал ошибку: "Данная операция не поддерживается в транзакциях".
как можно принудительно при/отменить транзакцию
открытую движком.
Кто знает как нейти эту транзакцию и закрыть её?


P.S. Общий раздел по формам
Автор: NoZZy от 29.01.2004 11:08:04 Источник ...
 15.06.2007 21:07:58
All
4316 сообщения
1-ый


RE: Не сохраняются записи в Подчинённой форме.
Проверку лучше начинать с запроса, т.е. можно поставить кнопку для его тестирования. Например,
Private Sub butTestQuery_Click()
DoCmd.OpenQuery Me.Form.RecordSource
End Sub


P.S. Общий раздел по формам
Автор: Admin от 0:00:00 Источник ...
 15.06.2007 21:07:59
All
4316 сообщения
1-ый


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

Вообще то Me.Form.RecordSource пустой.
Me.child.SourceObject или Me.child.Form.RecordSource
child – название контрола подчинённой формы.

Это не форма, а подформа, в свободной(без RecordSource) форме.
Формы не имеют основных/починённых полей.
Особенность в том, что в контроле-подформы меняются сами подформы!!! (замена Me.child.SourceObject).
В подформе данные меняются целыми столбцами (обычно вставляю из Excel)/
Первая замена проходит нормально, но если после этого поменять подформу (не важно вернуться или поменять подформу на другую)
При второй замене открывается транзакция, которая не закрывается, и не сохраняются соответствующие изменения.



P.S. Общий раздел по формам
Автор: NoZZy от 0:00:00 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Не сохран...
ПоискПоиск  Список форумовСписок форумов  
right