判断对象类型,可以用下面代码,不过不建议直接打开查询或表,另存为窗体,以数据表视图显示较好。
Dim frmName As String
frmName = Item.Text
Dim objectType As Integer
objectType = DLookup("Type", "MSysObjects", "Name='" & frmName & "'")
Select Case objectType
Case 1
docmd.opentable frmName '表
Case 5
docmd.openquery frmName '查询
Case -32768
docmd.openform frmName '窗体
Case -32764
docmd.openreport frmName '报表
End Select