访问:仅在Form_Load上

时间:2017-01-27 08:43:37

标签: syntax access-vba expression access

我在Access数据库的表单上有一个列表。 我的表格上还有一个按钮。当我单击按钮时,我的列表的RowSource将更改。 代码如下:

Private Sub Button_Left_Click()
    BR_Organization_String= ""
    For i = 0 To BR_OrganizationList.ListCount - 1
        BR_Organization_String= " " & BR_OrganizationList.Column(1, i) & ", " & BR_Organization_String & " "
    Next i
    BR_Team.RowSource = ("SELECT Teamname FROM Projekt WHERE AbteilungsID IN (" & BR_Organization_String & ")")
End Sub

当我点击“Button_Left”时,这段代码效果不错,没有问题。 但是一旦我关闭表格并再次打开它,我总是得到这样的信息:

Syntax error (missing Operator) in query Expression 'AbteilungsID IN('.

但我的Form_Load上没有任何内容,表单加载的代码只是空的。那么为什么即使我没有点击“Button_Left”-Button并且只打开form_load上没有代码的表单,Access也会给我这样的消息?

我还尝试在form_load上编写此代码,但它没有解决问题:

Private Sub Form_Load()
    BR_Organization_String = "" 
End Sub

1 个答案:

答案 0 :(得分:1)

使用不存在的或默认的AbteilungsID设置字符串以强制使用rowsource的有效表达式,例如:

Private Sub Form_Load()
    BR_Organization_String = "0" 
End Sub