CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

Access表中 哪个字段是主键

楼主utada776(招娣)2006-03-20 10:33:07 在 VB / 数据库(包含打印,安装,报表) 提问

写段代码  
  得知Access表中   哪个字段是主键  
  没有主键   返回空 问题点数:40、回复次数:3Top

1 楼of123()回复于 2006-03-20 11:46:42 得分 0

DAO:  
   
  Private   Sub   Form_Click()  
  Debug.Print   Get_Primary("C:\Program   Files\Microsoft   Visual   Studio\VB98\nwind.mdb",   "suppliers")  
  End   Sub  
   
  Public   Function   Get_Primary(ByVal   databasename   As   String,   ByVal   tablename   As   String)   As   String  
   
  Dim   td   As   DAO.TableDef  
  Dim   db   As   DAO.database  
  Dim   nx   As   DAO.Index  
   
  Set   db   =   OpenDatabase(databasename)  
  Set   td   =   db.TableDefs(tablename)  
  For   Each   nx   In   td.Indexes  
          If   nx.Primary   =   True   Then  
                  Get_Primary   =   nx.Fields(0).Name  
                  Exit   For  
          End   If  
  Next  
  End   Function  
  Top

2 楼of123()回复于 2006-03-20 12:09:42 得分 40

ADOX:  
   
  Private   Sub   Form_Click()  
  Debug.Print   Get_Primary("C:\Program   Files\Microsoft   Visual   Studio\VB98\nwind.mdb",   "suppliers")  
  End   Sub  
   
  Public   Function   Get_Primary(ByVal   databasename   As   String,   ByVal   tablename   As   String)   As   String  
  Dim   cat   As   New   ADOX.Catalog  
  Dim   ndx   As   ADOX.Index  
   
  cat.ActiveConnection   =   "Provider='Microsoft.Jet.OLEDB.4.0';"   &   _  
                  "Data   Source="   &   databasename  
   
  For   Each   ndx   In   cat.Tables(tablename).Indexes  
          If   ndx.PrimaryKey   Then  
                  Get_Primary   =   ndx.Columns(0).Name  
                  Exit   For  
          End   If  
  Next  
  End   Function  
  Top

3 楼yxx7347()回复于 2006-04-03 23:34:21 得分 0

大侠,您的方法返回的是主键的字段名。我要的是主键名(设置主键时Access生成的主键名)不是主键所在的字段名。Top

相关问题

  • 使用ADO如何获取ACCESS表中是主键的字段?
  • 如何将表中的字段设为关键字段?
  • access中设计表的时候怎么设计为多字段主键?
  • 我在A库中有表1(字段1主键,字段2,字段3),B库中表2(字段1主键,字段2,字段3),表1与表2的结构相同,数据数相同,现要将B库中的字段
  • 取access表中的字段名
  • 增加access表中字段的长度
  • 有分给!!!!Access数据库,创建一个可以存储图片的字段.此字段的代表关键字为什么?
  • [请教]如何获得ACCESS表中字段的有效性规则,字段类型,字段长度等信息?
  • 如何获取Access表中所有字段名和字段宽度
  • 在ACCESS已建立好的表中,如何看出主键是那一字段呢?在线等待赠分

关键词

  • db
  • microsoft
  • td
  • 主键
  • primary
  • nx
  • databasename
  • dao
  • tablename
  • byval

得分解答快速导航

  • 帖主:utada776
  • of123

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo