access数据库查看器怎么用VBA查询Access数据库操作方法vba调用access查询




access数据库查看器怎么用VBA查询Access数据库操作方法vba调用access查询

2022-07-21 2:31:22 网络知识 官方管理员

ExcelVBA操作Access数据库有什么优势呢?

首先,对于数据库要有一点了解,数据库就是一个库房,里面存放的不是粮食,也不是商品,而是数据,数据这个东西有点虚幻,看得见摸不着。

但通过对数据的应用和处理之后,就变成了某些实体。从基本理论上来讲,数据就是物质世界的本源,一切的存在实体都可以用数据来描述。

access数据库查看器怎么用(VBA查询Access数据库操作方法)(1)

所以,未来世界也许就只是一个虚拟的数据世界,而我们的身体或看到或看不到的一切实体将变得可有可无,也就是意识和世界全部数字化了。

本节介绍一下,如何用VBA和Access数据库建立联系,然后读取数据库里的记录,显示到Excel工作表当中。

为什么要这么做呢?

因为数据库可保存的数据是Excel无法比较的,体量和应用完全不在一个层级上级。

access数据库查看器怎么用(VBA查询Access数据库操作方法)(2)

上图表格,就是从数据库读取的信息,并不是在Excel中创建的,具体方法,慢慢讲来。

下图为Access数据新建的表格内容,和上图对比就明白了。

不会Access建表操作,需要补一下数据库操作学习,当然了,如果对SQL语句也没有基础,感觉下面的内容也没必要看了,因为涉及数据库操作的方法,是用一些SQL数据库语句完成的。

access数据库查看器怎么用(VBA查询Access数据库操作方法)(3)

重点看一下,关键代码

'查询Access数据库PrivateSubCommandButton1_Click()DimuADO,rsADOAsObjectDimstrPath,strSqlAsStringDimiAsInteger,riAsIntegerSetuADO=CreateObject("ADODB.Connection")'新建数据库连接对象SetrsADO=CreateObject("ADODB.RecordSet")'新建记录集对象strPath=ThisWorkbook.Path&"\udata.accdb"'设置数据库地址uADO.Open"Provider=Microsoft.ACE.OLEDB.12.0;DataSource="&strPath'打开数据库strSql="Select*FromUserInfoWHERE部门='办公室'"'设置查询语句rsADO.OpenstrSql,uADO,1,3'执行查询DimRAsRangeSetR=ActiveSheet.Range("B2")ActiveSheet.UsedRange.ClearFori=0TorsADO.Fields.Count-1R.Offset(0,i).Value=rsADO.Fields(i).Name'输出字段名NextiSetR=R.Offset(1,0)DoUntilrsADO.EOF'循环查询到数据直到记录最后一条Fori=0TorsADO.Fields.Count-1R.Offset(ri,i).Value=rsADO.Fields(i).Value'输出数据表内容Nextiri=ri+1rsADO.movenext'指向下一条记录DoEventsLooprsADO.Close'关闭记录集SetuADO=NothingSetrsADO=NothingEndSub

access数据库查看器怎么用(VBA查询Access数据库操作方法)(4)

代码中有注释,不做详细介绍。

下面是否主要代码说明:

首先,新建数据库连接对象uADO,这个对象实现和数据库建立连接

SetuADO=CreateObject("ADODB.Connection")

建立连接后用下面语句是打开数据库并建立连接uADO.Open

uADO.Open"Provider=Microsoft.ACE.OLEDB.12.0;DataSource="&strPath'打开数据库

Open方法中用了两个参数,一个是Provider,一个Source

Provider是连接字符串,根据Excel应用版本不同这个字符串也不同,本示例应用Microsoft.ACE.OLEDB.12.0,Excel2016。

Source参数表示数据源地址,也就是数据库文件地址。

strPath是存放数据库文件的路径和文件名字符串变量,根据你的文件地址进行修改。

strPath=ThisWorkbook.Path&"\udata.accdb"'设置数据库地址

上面代码执行之后来就建立了Excel和Access连接,接下来新建个一记录集对象rsADO

对于数据库的操作,将用到rsADO记录集。

SetrsADO=CreateObject("ADODB.RecordSet")

同样也使用Open方法打开记录集。

参数有5个,下面使用了4个,当然了参数是可以忽略的。

如果下示例:

strSql="Select*FromUserInfoWHERE部门='办公室'"'设置查询语句

rsADO.OpenstrSql,uADO,1,3'执行查询

strSql是查询语句,也就是通过这样一个查询,返回我们想要的数据,保存到rsADO记录集当中。

uADO是之前打开的数据库连接对象。

ADO是微软的ActiveX数据对象(ActiveXDataObjects),应用十分广泛,在对数据进行操作的过程当中,除Excel之外,可以更加方便快捷地提高数据处理能力。


发表评论:

最近发表
网站分类
标签列表