powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Несоответствие данных отображаемых в контроле формы и считываемых в процедуре
3 сообщений из 3, страница 1 из 1
Несоответствие данных отображаемых в контроле формы и считываемых в процедуре
    #32800515
Guest17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В кратце задача:
Есть форма, источник данных для нее - таблица Samples (код заказа, код образца -уникальный, характеристики образца).
Требуется по изменению одного из полей характеристик на форме изменить соответствующее поле всех записей с заданным кодом заказа (в рамках заказа несколько образцов).

Проблема - при формировании SQL-строки для запроса на обновление, значение поля Me!Order_ID показывается как значение поля для первой записи в RecordSet формы, в то время как в соответствующем контроле отображается значение ORDER_ID для текущей записи.

Private Sub M_CC_ComplDev_AfterUpdate()
If Me!ChtoAll_flag Then
Me.RecordLocks = 0
If Me!M_CC_ComplDev Then
SQLstr = "Update Samples Set M_CC_ComplDev=True Where ORDER_ID='" + Me!ORDER_ID + "'"
Else
SQLstr = "Update Samples Set M_CC_ComplDev=False Where ORDER_ID='" + Me!ORDER_ID + "'"
End If
DoCmd.SetWarnings False
DoCmd.RunSQL SQLstr
DoCmd.SetWarnings True
Me.Refresh
Me.RecordLocks = 2
End If
End Sub

Куда смотреть?
Спасибо за помощь!
...
Рейтинг: 0 / 0
Несоответствие данных отображаемых в контроле формы и считываемых в процедуре
    #32800626
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблема здесь
Guest17
Me.RecordLocks = 0

ИМНО, не надо менять блокировку. Сохранить запись, запомнить ID, обновить записи, дать me.requery, найти в рекордсете формы запись по ID, синхронизовать форму с bookmark.

И предпочтительнее использовать
если mdb:
currentdb.execute SQLstr, dbfailonerror
нежели
DoCmd.SetWarnings False
DoCmd.RunSQL SQLstr
...
Рейтинг: 0 / 0
Несоответствие данных отображаемых в контроле формы и считываемых в процедуре
    #32801040
Guest17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
That's it!
Спасибо огромное!

Из хелпа:
Note Changing the RecordLocks property of an open form or report causes an automatic recreation of the recordset.

Не стал мудрствовать, переставил Me.RecordLocks = 0 после формирования SQLstr. Работает.

Спасибо за
currentdb.execute SQLstr, dbfailonerror

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


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