sql结构化查询语言 手机sql文件怎么打开不了

本人好,今日持续教授教化VBA数据库方案规画的第9讲内容,打开一个数据库记实集,并把数据放到工作表文件中 。
可以说数据库的教授教化劈头开始进入到了是理论独霸的阶段,数据库的内容波及到常识较多,仍是曩昔夸大的,这是VBA中级及以上程度的规模,对于基础不有结实的朋侪,一定要下岁月把基础打牢,才可以匆匆过渡到数据库的进修 。一定要较量VBA代码方案规画,把各个常识点要弄通 。
回到我们的话题,实例,有一个数据库文件名为mydata,外观记实了某公司员工的情况,我定名为"职员表",如下面的截图,我只是给出了两个数据,如何把数据库中的数据中合适部分为总务的数据导出到EXCEL文件中,以利于检查呢?

sql结构化查询语言 手机sql文件怎么打开不了

文章插图
下面我们看看代码将如何钞缮:
Sub mynzRS一()
Dim cnADO, rsADO As Object
Dim strPath, strSQL As String
Dim i As Integer
Set cnADO=CreateObject("ADODB.Connection")
Set rsADO=CreateObject("ADODB.RecordSet")
strPath=ThisWorkbook.Path & "\mydata.accdb"
cnADO.Open "Provider=Microsoft.ACE.OLEDB.一2.0;Data Source=" & strPath
strSQL="SELECT * FROM 职员表 WHERE 部分="总务""
rsADO.Open strSQL, cnADO, 一, 三
Cells.ClearContents
For i=0 To rsADO.Fields.Count - 一
Cells(一, i + 一)=rsADO.Fields(i).Name
Next i
Range("A2").CopyFromRecordset rsADO
rsADO.Close
cnADO.Close
Set rsADO=Nothing
Set cnADO=Nothing
End Sub
代码截图:
sql结构化查询语言 手机sql文件怎么打开不了

文章插图
代码教授教化:

Set cnADO=CreateObject("ADODB.Connection")
Set rsADO=CreateObject("ADODB.RecordSet")
上述代码中新成立了一个连贯,一个记实集,本人要较着的是,这是把持成立的方式产生的连贯,
②strPath=ThisWorkbook.Path & "\mydata.accdb"
给出了数据库的路子
③cnADO.Open "Provider=Microsoft.ACE.OLEDB.一2.0;Data Source=" & strPath
这里是打开了cnADO这个连贯
④strSQL="SELECT * FROM 职员表 WHERE 部分="总务""
这是一个SQL语句,这个语句的感召就是,在数据库的"职员表"中盘查部分为"总务"的职员
⑤rsADO.Open strSQL, cnADO, 一, 三
这个饬令是打开上述的合适SQL盘查的记实集,此中strSQL 是代表"SELECT * FROM 职员表 WHERE 部分="总务"",cnADO是我们成立起来的ADO连贯,后背的一和三的意思在上一讲我们刚才见过;
一代表;AdOpenForwardOnly (默许值)打开仅向前类型游标 。
三代表: AdLockOptimistic 凋落式锁定(一一) — 供应者垄断凋落式锁定,只在调用Update 方式时才锁定记实 。
⑥ Cells.ClearContents 为了存放数据,在工作表中先清理一下,清空数据

For i=0 To rsADO.Fields.Count - 一
Cells(一, i + 一)=rsADO.Fields(i).Name
Next i
为了熟习上述语句的意思,我们先来看看记实集的一些属性:
rsADO.Fields.Count 是记实后果会集的字段数,
Fields是字段集对象,由单个的Field字段组成,表示Recordset对象的列的纠合 。Fields成员的下标从0劈头开始,0表示之一个字段 。
上面代码的意思是将必要将字段名写入,也就是说在EXCEL中先写入表头 。
⑧Range("A2").CopyFromRecordset rsADO
为了熟习上述代码的意思,先讲一下CopyFromRecordset方式 。
CopyFromRecordset方式是将一个ADO或 DAO Recordset 对象的内容复制到工作表中,复制的起始地位以指定地域为左上角 。
句法:Rng.CopyFromRecordset(Data, MaxRows, MaxColumns)
参数:
a Data:Void 类型,必选 。复制到指定地域的 Recordset 对象 。
b MaxRows:Variant 类型,可选 。复制到工作表的记实个数上限 。假定省略该参数,将复制 Recordset 对象的局部记实 。
c MaxColumns:Variant 类型,可选 。复制到工作表的字段个数上限 。假定省略该参数,将复制 Recordset 对象的局部字段 。
那么,Range("A2").CopyFromRecordset rsADO的意思就是讲所得到的记实纠合,复制到A2单元格为左上角的一个顺应的地域内 。
⑨ rsADO.Close
cnADO.Close
Set rsADO=Nothing
Set cnADO=Nothing
着几条代码的意思就是记实集关闭,连贯关闭,释放内存 。
下面看我们运行后的后果:
sql结构化查询语言 手机sql文件怎么打开不了

文章插图
到此开篇提到的问题我们的问题就美满方案了