Access: Как проверить, установлен ли переключатель «Опции» - PullRequest
2 голосов
/ 08 апреля 2019

У меня есть 4 переключателя «Option», которые можно проверить.Если они проверены пользователем, я хочу вставить запись в таблицу.Код будет выглядеть следующим образом ...

If option1Button is Checked then 
     doInsertQuery
If option2Button is Checked then 
     doInsertQuery
If option3Button is Checked then 
     doInsertQuery
If option4Button is Checked then 
     doInsertQuery

Я не могу найти документацию о том, как сделать метод "Проверено".Я родом из VB.net, и у VBA точно нет игрушек, которые я привык иметь для такого рода вещей.

1 Ответ

3 голосов
/ 08 апреля 2019

Вместо того, чтобы запрашивать состояние каждой опции Кнопка , вы должны вместо этого получить свойство Value опции * Группа сам, то есть рамка, окружающая набор кнопок выбора.

Это даст Значение параметра , связанное с выбранным Кнопка выбора .

Так какв группе опций может быть выбрана только одна кнопка выбора, я бы предложил использовать оператор VBA Select Case при тестировании выбранного значения, например:

Select Case YourFrameControl
    Case 1: Debug.Print "Option 1 Selected."
    Case 2: Debug.Print "Option 2 Selected."
    Case 3: Debug.Print "Option 3 Selected."
End Select

, поскольку свойство Value является возвращаемым значением по умолчаниюэлементом управления это не должно быть явно указано.


Если кнопки выбора автономны и не являются членами группы параметров, тоВы можете запросить свойство Value самой кнопки выбора, что даст значение True (-1) или False (0), либо True (-1), False (0) или Null для кнопки выбора тройного состояния.

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

Поскольку вы заявляете, что пользователь может выбрать "все применимые параметры", вам, вероятно, потребуется использовать последовательность отдельных операторов if для оценки выражения для каждого выбранного параметра.

Если вы оцениваете только одно выражение, вы можете написать ifоператоры в строке:

If YourOptionControl1 Then Debug.Print "Option 1 selected."
If YourOptionControl2 Then Debug.Print "Option 2 selected."
If YourOptionControl3 Then Debug.Print "Option 3 selected."

Или, альтернативно, в виде отдельных if блоков:

If YourOptionControl1 Then
    Debug.Print "Option 1 selected."
End If
If YourOptionControl2 Then
    Debug.Print "Option 2 selected."
End If
If YourOptionControl3 Then
    Debug.Print "Option 3 selected."
End If

Опять же, поскольку свойство Value является значением по умолчанию, возвращаемым элементом управления, ононе должно быть явно указано;для вышеупомянутого я предположил, что вы не , используя кнопки выбора из трех состояний.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...