Office中国论坛/Access中国论坛

标题: 求助:怎样用VBA在access中获得数据库中表的结构? [打印本页]

作者: liveevil    时间: 2005-6-1 18:38
标题: 求助:怎样用VBA在access中获得数据库中表的结构?
我现在要用ACCESS做一个数据校对程序,从已知格式的EXCEL中读取数据,之后在数据库中对数据进行校验,看所填数据是否在数据库中预先定义的值列表里面。我用docmd读取文件到access后,会生成多个表,然后我要从每一个表中按照列明分别读取,根据列名判断使用哪个值列表进行校验,并把校验结果写到表格每行的末尾字段中。但是使用DAO的时候,我没有找到可以把表结构列出来的方法。不知道这种思路对不对?事情挺急得,哪位牛人帮帮忙啊?小弟这里先谢了。
作者: 海狸先生    时间: 2005-6-1 19:36
我不会用dao,但是我会用ADO,请看下面dim rs as new adodb.recordsetrs.open "表",CurrentProject.Connection,3,3如果你想知道字段名 可以用 rs.fields(0).name 这样可以得到第一个字段名但是你想知道的更详细,请看下面Field 对象的 Type 属性用于查看记录集中各个字段的数据类型 Type 的返回值是一

个 DataTypeEnum 数据类型常量

下面的例程用于查看所获得的记录集中所有字段所使用的数据类型

Sub getFieldType()

Dim Con1 As ADODB.Connection

Dim Rec As ADODB.Recordset

Dim Fie As ADODB.Field

Dim strCon As String

'建立数据库连接 打开数据表

    strCon = "rovider=Microsoft.Jet.OLEDB.4.0;" & _

         "Data Source=C:\My documents\邮局期刊订阅投递系统.mdb;"

Set Con1 = New ADODB.Connection

    Con1.Open     

    Rec.ActiveConnection = Con1

    Rec.Open "SELECT * FROM 发行员 ", , , , adCmdText



'输出发行员表中的所有字段的名称和数据类型

    For Each Fie In Rec.Fields

Debug.Print "字段名称 "; Fie.Name; vbCr; "数据类型 "; Fie.Type

Next Fie

End Sub
作者: liveevil    时间: 2005-6-2 17:41
谢谢海狸先生,我好好研究下这个东东。我还有些担心,如果使用ADO会不会在一些电脑上出现无法使用的情况?我写这个东东主要是想发给别人,在数据采集的时候用来校对用。
作者: 海狸先生    时间: 2005-6-2 17:44
试试不就知道了




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