ACCESS怎么判断主键 索引已经存在

rainlovesea 2010-06-12 05:28:14
ACCESS怎么判断主键和 索引是否已经存在
...全文
711 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
okljl 2011-03-23
  • 打赏
  • 举报
回复
感觉6楼的好
keguangli123 2010-07-13
  • 打赏
  • 举报
回复
测试以下..
changechange 2010-07-01
  • 打赏
  • 举报
回复

用ADO列出某个表的所有字段、索引《表》
http://access911.net/index.asp?u1=a&u2=77FAB71E14DC







--911--
  • 打赏
  • 举报
回复
凡是关系型数据库,都有个系统表,或是一个系统数据库里多个表。通过访问这些系统表,可以得到用户所定义的一切数据库结构(表,索引,视图,查询,自定义函数与数据类型等)。

ACCESS的系统表是MsysObjects,你可以用普通的查询语句SELECT * FROM MsysObjects 来取得它的内容。查看里面的对象表示,就会知道主键和索引对应的标记信息,之后把这些作为条件写在WHERE里就可以得到要找的数据了。如果有返回,就存在,无返回就不存在。

至于其它的工具,就是已经把这些封装起来了。不过效率上肯定比自己直接写查询要慢了,就如只为自己要住的一间屋子而盖座大厦。当然,自己不会盖而大厦又是免费,也未尝不可用。
rainlovesea 2010-06-17
  • 打赏
  • 举报
回复
没事顶一顶
ACMAIN_CHM 2010-06-13
  • 打赏
  • 举报
回复
使用楼上提供的ADO方法来试一下吧。
chenfuxiangcfx 2010-06-12
  • 打赏
  • 举报
回复
ADO、ADOX是微软件的一个程序库,具体解释可以百度一下。
借用Access软件网网友“煮江品茶”的贴子供参考,原贴带示例文件网址:
http://www.accessoft.com/blog/article-show.asp?userid=10802&Id=4620

Public Function Keyname(tbname As String, ktype As Long) As String
'功能:获取数据表键列字段名称
'参数:tbname---表名;ktype---键类型(1为主键,2为外键,3为唯一键)
Dim cnn As New ADODB.Connection
Dim cat As New ADOX.Catalog
Dim tbl As ADOX.Table
Dim i As Long, j As Long
Set cnn = CurrentProject.Connection
Set cat.ActiveConnection = cnn
Set tbl = cat.Tables(tbname)
For i = 0 To tbl.Keys.Count - 1
  If tbl.Keys(i).Type = ktype Then
  For j = 0 To tbl.Keys(i).Columns.Count - 1
  Keyname = Keyname & tbl.Keys(i).Columns(j).Name & ";"
  Next
  End If
Next
End Function
rainlovesea 2010-06-12
  • 打赏
  • 举报
回复
?什么ADO,ADOX?是数据库控件吗
WWWWA 2010-06-12
  • 打赏
  • 举报
回复
用捕获错误的方法
OR 用ADO、ADOX取得主键和 索引

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧