热情软件屋

 

如何知道数据库中包括哪些表和字段


编号:QA001313
建立日期: 1999年7月10日 最后修改日期:1999年7月12日
所属类别:

金伟:
    VB5.0中文版
    Pwin98
    最近在学习VB数据库编程中遇到了几个问题,现向你请教。
    1、如何才能知道MDB数据库中有几个表,表名是什么。
    2、表里有几个字段,字段名又是什么,字段宽度是多少。
    需要用程序知道。谢谢。

回答:

    当你打开Database对象以后,Database对象包括TableDefs集合。这个集合包括数据库中所有表的定义。表的个数为TableDefs.Count。你可以使用TableDefs(0),......,TableDefs(TableDefs.Count - 1)来依次获得各个表的定义(TableDef对象)。你也可以利用For Each ... Next来遍历整个集合。每个TableDef对象都表示一个表的结构,其Name属性就是表名。如果打开一个MDB文件,你可能会得到比实际多的表的个数,这是因为Access数据库中还有一些系统表,这些表通常不会被Access和VB显示出来,但你可以使用VB访问它们。如果你不想让这些系统表出现在你的列表中,可以判断TableDef的Attribution属性,如:
    IF TableDef(i).Attibution And dbSystemObject Then
     ' 系统表
    Else
     ' 普通的用户表
    End If
    得到一个TableDef对象,你可以进一步访问TableDef.Fields集合。这个集合表示有多少个字段,它的每个成员为Field对象,代表一个字段。访问的方法类似TableDefs。每个Field对象有若干个属性,包括字段名、字段类型等。
    在VB的帮助有相应的例子。另外,我经常象初学者推荐VB的例子VisData(在Samples\VisData目录)。在这个例子中包括很多有用的程序段落。比如在VisData.bas中,GetTableList过程获得所有表名。
    
    相关问题:
    QA001804 "如何删除一个表"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio