Могу ли я сделать некоторые поля в форме доступа условными? - PullRequest
0 голосов
/ 29 марта 2020

Я создаю базу данных, и у меня есть таблица, которую я собираю, если пациент принимал или в настоящее время принимает определенные лекарства c. У меня есть список из 17 лекарств, которые нам нужны, и для каждого из них есть флажок «да / нет». Если пациент принимает или когда-либо принимал одно из этих лекарств, мы хотим собрать 9 дополнительных полей.

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

Большинство пациентов принимали только 2-5 этих лекарств, поэтому я не хочу загромождать форму ненужными пустыми полями.

Есть ли способ сделать это без VBA? Если нет, кто-нибудь даст мне пример того, как должен выглядеть код VBA?

Большое спасибо! Мы собираем эти данные как часть постоянного реестра, отслеживающего долгосрочную безопасность конкретного c исследовательского препарата. Мы обычно собираем эти данные по-разному, когда пациент находится в клинике c, однако в условиях пандемии c нам нужно сделать это по телефону, и эта база данных будет иметь решающее значение для обеспечения непрерывного сбора этих жизненно важных данных !!

Спасибо, Аллен

1 Ответ

0 голосов
/ 29 марта 2020

Что вы можете сделать, так это полагаться на то, что поля Да / Нет хранятся как 0 (Ложь) и не 0 (Истина). Затем вы можете иметь небольшой фрагмент кода VBA за формой, который добавляет все поля Да / Нет, чтобы определить, отображать ли дополнительные текстовые поля или нет:

Sub sCheckMedication()
    On Error GoTo E_Handle
    If (Me!Medication1 + Me!Medication2 + Me!Medication3) <> 0 Then
        Me!txtMedicationNotes.Visible = True
    Else
        Me!txtMedicationNotes.Visible = False
    End If
sExit:
    On Error Resume Next
    Exit Sub
E_Handle:
    MsgBox Err.Description & vbCrLf & vbclf & "sCheckMedication", vbOKOnly + vbCritical
    Resume sExit
End Sub

Затем вы вызываете эту процедуру в текущее событие формы (для покрытия при первой загрузке формы, а также при навигации между записями), а также при событии Click CheckBox:

Private Sub chkMedication1_Click()
    Call sCheckMedication
End Sub

С уважением,

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