Office中国论坛/Access中国论坛

标题: 【Access小品】获取数据表键列名称 [打印本页]

作者: todaynew    时间: 2010-6-7 20:29
标题: 【Access小品】获取数据表键列名称
版友樟树:在对表的结构不知情的情况下,要用VBA获取表的主键字段(可能由多个字段组成),该怎么做?

该问题解法如下:

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

[attach]42402[/attach]

[attach]42403[/attach]
作者: xuwenning    时间: 2010-6-8 11:23
已收藏了
谢谢分享

作者: yanwei82123300    时间: 2010-6-8 12:58
已收藏了
谢谢分享
作者: 5988143    时间: 2010-6-9 13:42
又有好作品收藏~
作者: t小宝    时间: 2010-6-9 13:56
谢谢分享,学习一下
作者: apsfxc1    时间: 2010-6-11 09:30
感谢分享,学习
作者: leijiqiang    时间: 2010-6-28 13:41
收拾一下
作者: c101    时间: 2010-8-11 16:49
谢谢分享
作者: szyewj    时间: 2010-8-22 13:20
搂主真牛!顶起来。
作者: li08hua    时间: 2010-9-11 01:16
不错呀!
作者: wufeng980114    时间: 2010-10-29 16:22
不错不错
作者: girder    时间: 2010-10-30 11:06
不错,好东西,收藏了。。。。。。。。。。。。
作者: 阳城    时间: 2011-10-9 19:31
谢谢 好东东
作者: huxinhua    时间: 2012-1-11 08:53
谢谢分享
作者: nncchh    时间: 2015-5-25 21:00
谢谢
作者: nncchh    时间: 2015-5-25 21:00
学习
作者: nncchh    时间: 2015-5-25 21:01
学习学习
作者: lintina892    时间: 2015-7-14 16:21
学习学习学习
作者: 李力军2    时间: 2016-7-29 14:57
好示例,收藏




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3