2012-09-10 2 views
1

Продолжение некоторых возможностей для моего существующего проекта.Handle Filter и OpenArgs

Я изучаю вероятность того, что кто-то после меня пройдет через OpenArgs или Where values, через OpenForm, и мне было интересно, есть ли способ «уловить и освободить» значения как недопустимые.

Я понял, что в OpenArgs я бы обработал его через Open, если только я неправильно прочитал информацию о MSDN (что возможно с учетом абстрактной обфускации информации).

  1. Мой вопрос больше о том, как я поймаю кого-то, передающего значение Where в форму?
  2. Есть ли единый магазин, где я могу поймать их обоих или мне придется обрабатывать два события?

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

+0

Вы хотите, чтобы форма отклонила значения 'OpenArgs' и фильтры' WhereCondition', переданные из вызова OpenForm? Естественно, форма будет игнорировать «OpenArgs», если вы специально не используете ее где-нибудь в своем коде формы. – nicholas

+0

Его больше об оповещении конечного пользователя, чтобы сообщить ИТ, что форма, которой не следовало передавать фильтр или OpenArg, была. Вид системы оповещения. – GoldBishop

+1

Как дополнительный способ реализации, я опубликовал фрагменты кода, которые я использовал здесь, в [Microsoft Wikia] (http://microsoft.wikia.com/wiki/Microsoft_Access/Snippets/Forms#Filter.2FOpenArgs_Validation) – GoldBishop

ответ

2

Где будет ограничивать набор записей фильтром. Вы можете проверить свойство фильтра для формы. Openargs является отдельным.

Private Sub Form_Open(Cancel As Integer) 
Debug.Print "Open filter " & Me.Filter & " is on " & Me.FilterOn 
End Sub 
+0

Так что я могу do Filter & OpenArgs все в событии OnOpen? – GoldBishop

Смежные вопросы