我有一个小If语句,如果另一个字段为空,它会更改字段的控制源。"刚才的=是不正确的,我不确定用什么来确保包含以=开头的整个字符串
Private Sub Report_Load()
If IsNull(FirstName2) Then
OwnersNames.ControlSource = "=FirstName1] & " " & [LastName1]"
Else
OwnersNames.ControlSource = "=[FirstName1] & " " & [LastName1] & " and " & [FirstName2] & " " & [LastName2]"
End If
End Sub
如果我读对了,那么试试这个使用更多引号连接语句的方法:
Private Sub Report_Load()
If IsNull(FirstName2) Then
OwnersNames.ControlSource = "=[FirstName1]" & " " & "[LastName1]"
Else
OwnersNames.ControlSource = "=[FirstName1]" & " " & "[LastName1]" & " and " & "[FirstName2]" & " " & "[LastName2]"
End If
End Sub
如果您试图连接字段(例如,将它们"相加"在一起)。你需要这样的东西:
Private Sub Report_Load()
If IsNull(FirstName2) Then
OwnersNames.ControlSource = "=[FirstName1] & ' ' & [LastName1]"
Else
OwnersNames.ControlSource = "=[FirstName1] & ' ' & [LastName1] & ' ' & [FirstName2] & ' ' & [LastName2]"
End If
End Sub
请记住,您可以将文本字段(例如文本框)连接在一起。
我不确定将字段的控制源组合是否以同样的方式工作。可以肯定的是,一种选择是将每个文本框重命名为与其控制源不同的内容。
这是现在的代码,当加载时,即使Firstname2字段为null,也会产生"John Smith And"。
Private Sub Report_Load()
If Me.FirstName2 = vbNullString Then
OwnersNames.ControlSource = "=[FirstName1] & ' ' & [LastName1]"
Else
OwnersNames.ControlSource = "=[FirstName1] & ' ' & [LastName1] & ' and ' & [FirstName2] & ' ' & [LastName2]"
End If
End Sub
您真的想设置控制源还是只设置字段的值?我认为这可能是你想要实现的目标????
Private Sub Report_Load()
If Me.FirstName2 = "" Then
me.OwnersNames = [FirstName1] & " " & [LastName1]
Else
me.OwnersNames = [FirstName1] & " " & [LastName1] & _
" and " & [FirstName2] & " " & [LastName2]
End If
End Sub