表名不需要加单引号
e.SelectString = "Select * From "& DataTableName & " Where [Owner] = '" & _UserName & "'"另外如果使用的是自定义用户管理,在BeforeLoadOutTable事件执行的时候,肯定还没有登录的_UserName不可能有值,所以正确用法应该是BeforeLoadOutTable事件设置不加载数据e.SelectString = "Select * From "& DataTableName & " Where [_identify] is null"
然后在AfterOpenProject事件登录后加载
Forms("用户登录").Open()
If _UserName = "" Then
Syscmd.Project.Exit()
Return '这个要加上,因为既然要退出,就不应该再执行后面的初始化代码了,否则会出错
End If
datatables("xx表").loadfilter = "[Owner] = '" & _UserName & "'"
datatables("xx表").load