我可以在Access表单上添加某些字段吗?

问题描述 投票:0回答:1

我正在创建一个数据库,并且有一个表格可以在其中收集患者是否曾经或正在接受特定药物治疗。我列出了我们关心的17种药物,每个都有一个“是/否”复选框。如果患者正在或曾经使用其中一种药物,我们希望另外收集9个字段。

我想创建一个仅列出药物和复选框的表格。当用户选中一个复选框时,我希望显示其他字段以供填写。

大多数患者只会使用其中的2-5种药物,因此我不想在表格上加上不必要的空白字段。

没有VBA,有没有办法做到这一点?如果没有,有人可以给我举一个VBA代码看起来像什么的例子吗?

非常感谢!我们收集这些数据作为正在进行的注册表的一部分,该注册表监视特定研究药物的长期安全性。通常,当患者在诊所就诊时,我们会以不同的方式收集这些数据,但是,如果发生大流行,我们需要通过电话进行处理,而该数据库对于确保继续收集这些重要数据至关重要!

谢谢,艾伦

forms access-vba conditional-statements access
1个回答
0
投票

您可以做的是依靠Yes / No字段存储为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

然后您将在Form的Current事件中调用此过程(以介绍首次加载表单的时间以及在记录之间导航的时间,以及CheckBox的Click事件:

Private Sub chkMedication1_Click()
    Call sCheckMedication
End Sub

问候,

© www.soinside.com 2019 - 2024. All rights reserved.