Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка при переходе на подчиненную у формы с оторванным рекордсетом / 20 сообщений из 20, страница 1 из 1
30.11.2004, 16:04:14
    #32806090
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
Есть форма с простым источником (ХП на таблице)
SELECT dbo.InContacts.* FROM dbo.InContacts WHERE (ID = @ID)

При входе отрываю ее рекордсет от данных
Set Me.Recordset.ActiveConnection = Nothing

при выходе если надо сохранить привязаываю обратно
Set Me.Recordset.ActiveConnection = cnn

все было отлично пока не сделал на форме подчиненную форму
при переходе на нее стал ругатся
"Данные, добавленные в базу данных, не будут отображены в форме,
т. к. они противоречат условиям на базовый источник записей"

после того как поругается перестает сохранять данные

Как подавить эту реакцию?

PS сейчас пришлось делать через временную таблицу,
но раньше с оторванным рекордсето было лучше.
...
Рейтинг: 0 / 0
30.11.2004, 16:12:20
    #32806104
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
авторпри выходе если надо сохранить привязаываю обратно
Set Me.Recordset.ActiveConnection = cnn

так будет автоматом сохраняться только последняя
изменненная запись...

надо кодом все записи сохранять из оторванного в базу
а потом назначить соурс вместо рекордсета
...
Рейтинг: 0 / 0
30.11.2004, 16:16:54
    #32806120
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
WHERE (ID = @ID)
Запись только одна
...
Рейтинг: 0 / 0
30.11.2004, 16:25:21
    #32806142
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
а как ты рулишь подчиненной?
По идее, тут все связи руками делать надо...
...
Рейтинг: 0 / 0
30.11.2004, 16:34:01
    #32806162
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
Рулю по разному
например делаю источником подчиненной ХП
и прописываю входным параметром контрол главной

но это без разницы реакция происходит даже если пустую форму вставить
это реакция главной а не подчиненной.
...
Рейтинг: 0 / 0
30.11.2004, 16:40:03
    #32806184
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
совсем непонятно что значат твои слова

авторвсе было отлично пока не сделал на форме подчиненную форму
при переходе на нее стал ругатся

Когда ошибка?
-при получении фокуса подчиненной формоЙ ?
-при переходе по записям подчиненной если в них была правка?


автор"Данные, добавленные в базу данных, не будут отображены в форме,
т. к. они противоречат условиям на базовый источник записей"

очень похоже на наличие триггера в источнике подчиненной формы ...
...
Рейтинг: 0 / 0
30.11.2004, 16:43:19
    #32806194
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
При переходе фокуса с главной на подчиненную
если на главной внесены изменения

Триггеров нет вовсе.
...
Рейтинг: 0 / 0
30.11.2004, 16:44:28
    #32806198
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
авторочень похоже на наличие триггера в источнике подчиненной формы ...
а не на попытку ресинхронизации?
:))

2 Latuk
мудро, но интересно...
:)

вечерком попробую ковырнуть, если сил хватит...


(с выражением лица)
...
Рейтинг: 0 / 0
30.11.2004, 17:04:55
    #32806259
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
2 Latuk
половил бы ты пока события от рекордсета.
Наиболее вероятно, что форма ему UpdateBatch говорит, что и
является причиной проблемы.

Кстати, на мсдн где-то лежит пример для Барсика, как подменить UpdateBatch
собственным запросом. Для твоего случая, думаю, от него танцевать надо...


(с выражением лица)
...
Рейтинг: 0 / 0
30.11.2004, 17:21:19
    #32806323
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
попробовал
результат такой :
ошибка происходит при попытке перейти на новую запись
или сохранить запись (покрутить колесо мыши для перехода без постановки фокуса на подчиненную) при отсоединенном рекордсете

если перед получением фокуса подчиненной выполнить:

Код: plaintext
1.
Set Me.Recordset.ActiveConnection = CurrentProject.Connection
Me.Dirty = False

то ошибки не случается
...
Рейтинг: 0 / 0
30.11.2004, 20:02:34
    #32806584
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
>Set Me.Recordset.ActiveConnection = CurrentProject.Connection
>Me.Dirty = False
Этот код сохраняет изменения в базе,
а вся байда затевалась как раз за тем,
чтобы в конце сеанса работы с формой
можно было решить сохранять изменения или нет
...
Рейтинг: 0 / 0
01.12.2004, 09:22:16
    #32806908
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
если главная форма теряет фокус
то происходит сохранение записи как при переходе на новую (по крайней мере попытка) в случае если отключено то и пофигу что ошибка сохранения

если проблема только в надоедливом сообщении
Код: plaintext
1.
2.
Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr =  30014  Then Response = False
End Sub
...
Рейтинг: 0 / 0
01.12.2004, 10:10:57
    #32806977
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
Посмотрел. Проблема именно в Resync. На основании того, что установка Update Resync в 0 не лечит, думаю, что это не имплицитный, а явный ресинк (хотя только этого наблюдения недостаточно). Обойтись красиво не удалось. В зависимости от выбранного действия (типа Response=acDataErrContinue в OnError формы или явная отмена проведенных изменений в событиях рекордсета) и момента его приложения - либо прерывается поток передачи фокуса на подчиненную, либо происходит очистка содержимого измененного поля. Хотя непосредственную выдачу сообщения об ошибке таким образом удается притушить.

Явный ресинк вызывается однажды на цикле переходов главная-подчиненная без смены текущей записи на главной. То есть повторное изменение поля на главной не приводит к ресинку, если первый переход на подчиненную состоялся, и этот первый переход сопровождался отменой батча на рекордсете. Это оставляет некую надежду «обрулить» явным вводом состояния «до ресинка» и «после». Однако красоты не ожидается. Вряд ли потраченные усилия того стоят.

ЗЫ
Поведение интерфейса 1 в 1 совпадают с поведением при указании «не той» команды синхронизации.
...
Рейтинг: 0 / 0
01.12.2004, 10:20:48
    #32807017
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
Мда - оторванный рекордсет и форма на его основе в Аксесе приводит к непредсказуемому поведению. Аксес для таких вещей не приспособлен. Делал просто, некрасиво, но зато кондово - временная табличка:)

А вообще, переходи на нет - нетовсие формы на первых порах можно внедрять в Аксес...
...
Рейтинг: 0 / 0
01.12.2004, 11:03:56
    #32807143
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
>временная табличка
Так и сделал сразу как трабл возник
но всетаки надежда была победить как нибудь просто и изящьно :)
>А вообще, переходи на нет
Не трогайте меня здесь,я тут весь болю
У меня на машине 20 гиговый винт,
из тех что года три как выпускать перестали
места нет даже на MSDN , если VS установить то умрет совсем.
Память уже из дома притащил,но не покупать же весь комп на работу.
Тут еще начальник достаточно грубо объяснил:
"Я кажется русским языком сказал - винт покупать не будем"
Нравится платить мне за то что я смотрю на песочные часы хрен с ними пусть платят.
...
Рейтинг: 0 / 0
01.12.2004, 11:39:46
    #32807229
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
2 Latuk
Да... тяжёлый случай - а у нас тут машины ого-го, но в этом есть свои минусы - на крутой тачке не всегда тормоза поймаешь:)

Но всё-таки - насколько приложение на нете работает быстрее и безглючнее аксесовского - хотя в нете свои приколы: взять хотя-бы видимость закладки в табконтроле:) Но это всё мелочи жизни...
...
Рейтинг: 0 / 0
01.12.2004, 11:43:37
    #32807237
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
2 Latuk
Да... тяжёлый случай - а у нас тут машины ого-го, но в этом есть свои минусы - на крутой тачке не всегда тормоза поймаешь:)

Но всё-таки - насколько приложение на нете работает быстрее и безглючнее аксесовского - хотя в нете свои приколы: взять хотя-бы видимость закладки в табконтроле:) Но это всё мелочи жизни...
...
Рейтинг: 0 / 0
02.12.2004, 09:21:44
    #32808797
Шайтан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
2 Latuk
>У меня на машине 20 гиговый винт
Win 2003 Server + Off 2003 Prof (полностью) + VS.Net Enterprise + Visio = 4.75 GB (5,109,280,765 bytes)

Если не держишь на харде все серии Санта-Барбары, то можно уместиться

Шайтан
...
Рейтинг: 0 / 0
02.12.2004, 10:09:13
    #32808899
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
> Off 2003 Prof (полностью)
у меня сразу три (97,2000,2002) и без сервиспаков
почему? типа так положено как у юзеров так и уменя
сейчас из 18Гб занято 10
а умрет не потому что не поместится ,
а потому что винт не только маленький но и медленный (сейчас таких не делают просто)

PS Кстати заметил еще, что NTFS-ные тома резко теряют производительность
при заполнении более чем на две трети-три четверти.
...
Рейтинг: 0 / 0
02.12.2004, 10:45:42
    #32808990
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при переходе на подчиненную у формы с оторванным рекордсетом
при заполнении более чем на две трети-три четверти.

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


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