跨多个访问表创建主键

时间:2013-11-07 16:46:21

标签: ms-access access-vba

我最近将40多个excel文件导入Access,但现在我想为每个文件添加一个PK。

我有以下代码,但它没有超过db.execute行,我在CREATE INDEX语句中不断收到错误3291语法错误。它看起来不错,但不确定为什么会发生这种情况?

Public Sub AddPrimaryKey()

Dim db As DAO.Database
Dim td As DAO.TableDef



Set db = CurrentDb()

    For Each td In db.TableDefs

    If Left(td.Name, 6) = "REPORT" Then

    db.Execute "CREATE INDEX Employee No ON td.Name (Employee No) WITH PRIMARY"


    End If

Next td


End Sub

1 个答案:

答案 0 :(得分:1)

似乎字段名称包含空格,因此将其括起来。

td.Name添加到字符串中。

db.Execute "CREATE INDEX [Employee No] ON " & td.Name & _
    " ([Employee No]) WITH PRIMARY"