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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Цветовое выделение по событию, Access 2007
 
 автор: ireus   (05.11.2010 в 21:46)   личное сообщение
 
 

Уважаемые форумчане,
пытаюсь изменить цвет раздела данных формы при наступлении события: Внесение изменения в запись. Событие Обновление применяю, чтобы при переходе на следующую запись вернуть фон. Событие Отмена используется для реакции на нажатие пользователем клавиши Esc.

Вопрос: в процедуре Durty происходит ошибка: Variable not defined и подсвечивается Detail. В чём проблема? Процедуры привожу.

Option Compare Database
Option Explicit

Private Sub Form_AfterUpdate()
Detail.BackColor = vbWhite
End Sub

Private Sub Form_Undo(Cancel As Integer)
Detail.BackColor = vbWhite
End Sub

Private Sub Form_Dirty(Cancel As Integer)
Detail.BackColor = vbRed
End Sub

Заранее благодарю за ответ.

  Ответить  
 
 автор: AlexSyr   (06.11.2010 в 00:43)   личное сообщение
 
 

Может быть все-таки так:

Section(acDetail).BackColor = vbRed

  Ответить  
 
 автор: ireus   (06.11.2010 в 12:54)   личное сообщение
 
 

Вся штука в том, что работает как мной и написано, но в отдельной БД. В моей же есть ещё процедура, обрабатывающая событие двойного клика по полю, в результате которой и происходит вставка значения. Не исключено, что происходит конфликт событий, о чём было сообщение. Пока не знаю как это разрешить.

  Ответить  
 
 автор: AlexSyr   (07.11.2010 в 02:32)   личное сообщение
15 Кб.
 
 


Я даже знаю почему в другой БД Ваш код работает - раздел ОбластьДанных имеет имя Detail.
В Вашем же случае этот раздел имеет другое имя. Отсюда и ошибка ==>

  Ответить  
 
 автор: Stanislav   (07.11.2010 в 08:34)   личное сообщение
 
 

ireus, чтоб такого не было, надо взять привычку всегда писать полное имя объекта, вот так: Me.Detail.BackColor = vbWhite
Тогда после Me. выпадет список, дальше печатаем de, access пролистывает до совпадения - и сразу будет видно, что раздела Detail там нет.

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