如果要更改字段的语句.控制源



我有一个小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

最新更新