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

Спасибо

1 ответ1

0

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

Выбрать все

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

В следующем примере я предполагаю, что у вас есть набор флажков с именами chk1 , chk2 и chk3 и один флажок Выбрать все с именем 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 , одновременно включая или отключая настройку всех флажков параметров в форме.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .