Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема обновления подчиненной формы с начатой транзакцией
 
 автор: Ivanko_011   (19.02.2010 в 11:16)   личное сообщение
 
 

Имеются две подчиненные формы Form1 и Form2:

Private Sub Form_Load()

wsp.BeginTrans

Set Form1.Form.Recordset = dbs.OpenRecordset("SELECT Таблица1.*
FROM Таблица1;", dbOpenDynaset)

Set Form2.Form.Recordset = dbs.OpenRecordset("SELECT Таблица2.*
FROM Таблица2
WHERE (((Таблица2.ID)=” & Form1.Form.ID & “));", dbOpenDynaset)

End Sub


Обновлении Формы Form2 по событию Form_Current формы Form1

Form2.Form.Recordset.Requery

НЕ РАБОТАЕТ

, а если повторить

Set Form2.Form.Recordset = dbs.OpenRecordset("SELECT Таблица2.*
FROM Таблица2
WHERE (((Таблица2.ID)=” & Form1.Form.ID & “));", dbOpenDynaset)

Возникает ошибка

  Ответить  
 
 автор: kot_k_k   (19.02.2010 в 11:36)   личное сообщение
 
 


Обновлении Формы Form2 по событию Form_Current формы Form1

Form2.Form.Recordset.Requery



если ты событие генеришт из другой формы то нужно полное имя

Forms!Главная_Форма!Form2.Form.Recordset.Requery

  Ответить  
 
 автор: FORMAT   (19.02.2010 в 11:37)   личное сообщение
 
 


Private Sub Form_Load()

wsp.BeginTrans

Set Form1.Form.Recordset = dbs.OpenRecordset("SELECT Таблица1.*
FROM Таблица1;", dbOpenDynaset)

Set Form2.Form.Recordset = dbs.OpenRecordset("SELECT Таблица2.*
FROM Таблица2
WHERE (((Таблица2.ID)=” & Form1.Form.ID & “));", dbOpenDynaset)
wsp.CommitTrans
End Sub


А так будет работать?

+1 к коту

  Ответить  
 
 автор: Ivanko_011   (19.02.2010 в 11:56)   личное сообщение
 
 

В форму Form1 и Form2 могут вноситься изменения добавления/удаления, поэтому

wsp.CommitTrans

еще рановато

  Ответить  
 
 автор: FORMAT   (19.02.2010 в 12:15)   личное сообщение
 
 


wsp.CommitTrans

еще рановато



Ошибаетесь.
Вы начинаете транзакцию, но при этом ее не фиксируете. Т.е. все опреации в вашем случае, указанные после начала транзакции будут отменены.
А вааще если хотите отменить действия транзакции в случае, если что-то пошло не так - используйте RollbackTran

  Ответить  
 
 автор: Ivanko_011   (19.02.2010 в 14:42)   личное сообщение
 
 

CommitTrans - В этот момент все изменения сохраняются в источнике без возможности их отмены

  Ответить  
 
 автор: FORMAT   (19.02.2010 в 16:15)   личное сообщение
 
 

Естественно. При условии, что транзакция прошла успешно. ИНЫМИ СЛОВАМИ - ВАШИ ЗАПРОСЫ ВЫПОЛНЯТСЯ
Без Commit-а транзакция не состоится вааще. Будет проигнорировано все, что находится после BeginTran. Что у вас и происходит. А в сочетании с ошибками на которые вам показал кот вы получаете ту картину, которую и имеете в действительности.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList