我有一个Microsoft Access 2007表单,其中包含以下表单源:
SELECT referrals.referral_date, referrals.*, schools.*, EAL_SLA_Assessment.*, referrals.forename & " " & referrals.surname AS combinedName, religions.religion, ethnicities.ethnicity
FROM (((referrals LEFT JOIN schools ON referrals.LCC_no = schools.LCC_no) LEFT JOIN ethnicities ON referrals.ethnicity = ethnicities.ID) LEFT JOIN religions ON referrals.religion = religions.ID) LEFT JOIN EAL_SLA_Assessment ON referrals.referral_number = EAL_SLA_Assessment.sla_id
ORDER BY referrals.referral_date DESC;
表格如下:
' SLA详细信息'表单的一部分由查询的'LEFT JOIN EAL_SLA_Assessment ON referrals.referral_number = EAL_SLA_Assessment.sla_id'
部分填充,此查询可能返回一条记录(如果存在)或者可能返回NULL(如果不存在记录)。
我想要的是为用户呈现一个标题为"创建SLA" (服务水平协议)(如果不存在),以及查询检索的记录(如果找到)
我知道我是如何使用IF(NULL($query['SLA_id'])) {} ELSE {}
语句在PHP中执行此操作的,但我对Access的了解不太透彻,而且我很难弄清楚如何做到这一点...... < / p>
任何帮助将不胜感激!
谢谢!
答案 0 :(得分:0)
在Access VBA中,您可以检查IsNull(Me.Fieldname)
。处理这个问题的最佳事件可能是On Current
,因为它是每个记录的事情。
类似的东西:
Private Sub Form_Current()
Me.cmdCreateSLA.Visible = IsNull(Me.EAL_SLA_Assessment.sla_id)
End Sub
注意:如果cmdCreateSLA
在Form_Current()
运行时有焦点,请在尝试使按钮不可见之前使用Me.someOtherControl.SetFocus
。
问题:“SLA详细信息”选项卡似乎包含子表单,因为它在屏幕截图中完全为空。所以你不能把按钮放在那里 - 只有当有记录时才会显示带按钮的子表格。
因此按钮必须位于子窗体之外。