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

618
Lane Massey

У меня есть форма в Access 2010 с полем флажка с именем DR Process, затем у меня есть 25 других полей флажка, которые, если установлен, я хочу, чтобы флажок DR Process автоматически устанавливался. Также, если выбрано одно из 25 полей, то не отмечать его, следует снять флажок DR Process. Есть ли способ сделать это?

Спасибо

0

1 ответ на вопрос

0
Lee Mac

Поведение, которое вы описываете для своих элементов управления, похоже на поведение нескольких флажков, сопровождаемых флажком Выбрать все для одновременного включения или отключения всех флажков в наборе:

Select All

Я полагаю, что для этого вам нужно будет использовать некоторый код VBA в различных After Updateобработчиках событий для ваших элементов управления.

В следующем примере, я предполагаю, что у вас есть набор флажков, называемых chk1, chk2и chk3и один Select All флажка под названием chkA(однако, это может быть расширено на любое количество флажков просто увеличивая верхний предел Forпетель).

Затем вы можете достичь желаемого поведения, используя следующие две функции:

Функция для переключения всех флажков опций на заданное значение:

Function ToggleAll(v As Integer) Dim i As Integer For i = 1 To 3 Controls("chk" & i).Value = v Next i End Function 

Функция, позволяющая проверить, включены ли все флажки опций и, соответственно, включить или отключить флажок « Выбрать все» :

Function AllEnabled() Dim i As Integer, v As Integer: v = -1 For i = 1 To 3 v = v * Abs(Controls("chk" & i).Value) Next i chkA.Value = v End Function 

Затем вам просто нужно оценить вышеупомянутые функции из After Updateобработчиков событий для ваших элементов управления:

Private Sub chk1_AfterUpdate() AllEnabled End Sub  Private Sub chk2_AfterUpdate() AllEnabled End Sub  Private Sub chk3_AfterUpdate() AllEnabled End Sub  Private Sub chkA_AfterUpdate() ToggleAll chkA End Sub 

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

При изменении значения флажка « Выбрать все» ( chkA) ToggleAllфункция оценивается, одновременно включая или отключая установку всех флажков параметров в форме.