升迁专用:检查出没有设置主键的表-Natsume Takashi
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-表


升迁专用:检查出没有设置主键的表

发表时间:2018/6/25 13:13:39 评论(0) 浏览(4084)  评论 | 加入收藏 | 复制
   
摘 要:检查出没有设置主键的表
正 文:

当我们将Access数据库通过升迁或导入的方式到SQL Server数据库时,需要检查每一个表有没有主键,因为如果没有主键,将不能给表添加新数据,这里,我们就可以采用下面的代码来进行检查,具体代码如下:

Sub 检查主键()
   On Error GoTo CreateKeyError
    Dim cat    As New ADOX.Catalog  '需要引用ado ext
    Dim i      As Byte
    Dim tbl As Object
    Dim fld  As Object
    cat.ActiveConnection = CurrentProject.Connection
    For Each tbl In CurrentDb.TableDefs
   If tbl.Name Like "MSys*" = False And tbl.Connect = "" Then
    With cat.Tables(tbl.Name)
        If .Keys.Count < 1 Then
        Debug.Print tbl.Name & "没有主键"
       GoTo N
        End If
          For i = 0 To .Keys.Count - 1
            If .Keys.Item(0).Type = adKeyPrimary Then GoTo N
          Debug.Print tbl.Name & "没有主键":
N:
        Next
  
    End With

  End If
  Next
    Set cat.ActiveConnection = Nothing
    Set cat = Nothing
    Exit Sub
CreateKeyError:
    Set cat = Nothing

    If Err <> 0 Then
        MsgBox Err.Source & "-->" & Err.Description, , "Error"
    End If
End Sub

Access软件网交流QQ群(群号:198465573)
 
 相关文章
更换主键_删除创建自动编号字段(第1版)  【张义成  2016/2/25】
【Access扫盲知识】设置复合主键的意义,什么情况下需要在表中设...  【麥田  2016/4/27】
索引和主键的区别  【刘瑜斌  2017/4/6】
为什么不能用客户名称做主键,而非用客户ID做主键  【杜超  2017/7/8】
如何用sql语句创建表时设置复合主键  【MDZZ  2017/9/10】
常见问答
技术分类
相关资源
文章搜索
关于作者

Natsume Takashi

文章分类

文章存档

友情链接