网问答>>王佩丰老师vba课程笔记——第十五讲使用ADO操作外部数据源
问题
已解决

王佩丰老师vba课程笔记——第十五讲使用ADO操作外部数据源

时间:2024-10-09 00:17:42
王佩丰老师vba课程笔记——第十五讲使用ADO操作外部数据源
最佳回答
一、使用ADO连接外部excel数据源1、通过数据 -现有连接 - 浏览更多,实现其他excel表格的连接。2、连接步骤:在VBE界面中,工具—引用,勾选Microsoft ActiveX Data Object x.x Library。使用如下代码连接excel文件:Sub test()Dim conn As New ADODB.ConnectionDim sql As Stringsql = "select * from [data$]"conn.Open "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=D:dataEdata.xlsx;extended properties=""excel 12.0;HDR=YES"""Range("a1").CopyFromRecordset conn.Execute(sql)conn.CloseEnd Sub关于VBA代码中的双引号,例如:"叫""张三""的那个人呢",在实际使用时应改为"叫" 张三" 的那个人呢"。二、常见SQL语句查询数据:select * from [data$]查询某几个字段:select 姓名,年龄 from [data$]带条件的查询:select * from [data$] where 性别 = "男"合并两个表的数据:select * from [data$] union all select * from [data2$]插入新纪录:insert into [data$] (姓名,性别,年龄) values (AA,男,33)修改一条数据:update [data$] set 性别=‘男’,年龄=16 where 姓名=‘张三‘删除一条数据:delete from [data$] where 姓名=张三使用LEFT JOIN …ON… (类似于VLOOKUP):select [data3$].姓名,性别,年龄,月薪 from [data$] left join [data3$] on [data$].姓名=[data3$].姓名先UNION ALL再LEFT JOIN:select * from (select * from [data$] union all select * from [data2$])a left join [data3$] on a.姓名=[data3$].姓名将查询结果赋值到数组:arr = Application.WorksheetFunction.Transpose(conn.Execute("select * from [data$]").GetRows)注意:delete语句在excel中不支持。三、使用ADO操作ACCESS数据库连接步骤:在VBE界面中,工具—引用,勾选Microsoft ActiveX Data Objects x.x Library,连接代码与操作excel基本一致,猛迟但表名不要加$。四、作业实现抓取信没知肆息:Sub test(),代码中连接ACCESS数据库,指定查询枯轿客户信息表与交易记录表的关联数据,并将结果填充到Excel的a2:z1000范围。
时间:2024-10-09 00:17:47
本类最有帮助
Copyright © 2008-2013 www.wangwenda.com All rights reserved.冀ICP备12000710号-1
投诉邮箱: