对于未绑定字段的控件源,我有一个非常简单的if语句。我得到一个对象要求错误,不能完全弄清楚。基本上,如果LastName字段不为空,则应用第一个控件源,否则应用第二个控件源。(基本上去掉字符串中的and)
Private Sub Report_Load()
If LastName2.Value Is NotNull Then
Text29.ControlSource = [=[FirstName1] & " " & [LastName1] & " AND " & [FirstName2] & " " & [LastName2]]
Else
Text29.ControlSource = [=[FirstName1] & " " & [LastName1] & " " & [FirstName2] & " " & [LastName2]]
End If
End Sub
ControlSource
属性期望为字符串。因此,将用作控件源的表达式放在字符串中:
If Not IsNull(LastName2.Value) Then
'Or Nz(LastName2) <> ""
Text29.ControlSource = "=FirstName1 & ' ' & LastName1 & ' AND ' & FirstName2 & ' ' & LastName2"
Else
Text29.ControlSource = "=FirstName1 & ' ' & LastName1 & ' ' & FirstName2 & ' ' & LastName2"
End If
注意,在字符串内的表达式中,可以使用单引号作为字符串分隔符。此外,由于列名不是保留关键字,您不需要将它们嵌入到方括号[…]] .
用Not IsNull(xy)
代替xy Is NotNull