使用VBA确定是否可以编辑表

时间:2013-12-05 15:10:01

标签: ms-access ms-access-2007 access-vba

我在Form_Load中有以下过程:

Dim accObject As Access.AccessObject

For Each accObject In CurrentData.AllTables
    Me.cboSelectTable.AddItem accObject.Name
Next

这将使用所有表(包括系统表和链接到SQL Server的表)填充组合框。问题是,我只希望找回可以编辑的表格。如何使用VBA确定?

1 个答案:

答案 0 :(得分:1)

检索目标表名称集时,可以忽略系统表(Like "MSys*")和临时表(Like "~*")。并通过检查Connect属性是否为零长度字符串以外的任何内容来忽略链接表。

Dim tdf As DAO.TableDef
For Each tdf In CurrentDb.TableDefs
    With tdf
        If Not (.Name Like "~*" Or .Name Like "MSys*") Then
            If Len(.Connect) = 0 Then
                Me.cboSelectTable.AddItem .Name
            End If
        End If
    End With
Next
Set tdf = Nothing

如果这不能满足您的所有需求,您还可以检查每个表格tdf.Updatable是否为真。