你的位置:陕西小程序开发 > 小程序开发资讯 > 陕西小程序开发 VBA实践·讹诈ADO操作Excel职责表数据

陕西小程序开发 VBA实践·讹诈ADO操作Excel职责表数据

时间:2024-11-05 09:23:22 点击:186 次
VBA不错讹诈ADO创建SQL,从而竣事在不掀开Excel职责簿的情况下,对职责表的数据进行读写等操作。关于数据量相比大的Excel职责簿,讹诈ADO模子不错大大进步性能。案例数据D盘有ExcelSQL数据库.xlsx职责簿,职责簿内有【职工信息】职责表,其字段包含工号、姓名、部门、性别和年齿。

图片

小程序开发使用ADO的两种步地1、CreateObject函数创建 Dim conn As Object Set conn = CreateObject('ADODB.Connection')2、外部援用VBE界面上聘用:器用-援用-Microsoft ActiveX Data Object x.x Library
Dim conn As ADODB.ConnectionSet conn = New ADODB.Connection
联贯数据源(Excel职责簿)conn.Open 'provider=microsoft.ace.oledb.12.0;extended properties='excel 12.0';data source='D:\ExcelSQL数据库.xlsx''增多记载
Sub 增多记载()    Dim conn As Object    Set conn = CreateObject('ADODB.Connection')        conn.Open 'provider=microsoft.ace.oledb.12.0;extended properties='excel 12.0';data source='D:\ExcelSQL数据库.xlsx''    Dim sql As String    sql = 'insert into [职工信息$] values  ('999','VBAMatrix','建立部','男',19)'    conn.Execute (sql)        sql = 'insert into [职工信息$](工号,姓名,部门,性别) values ('666','PythonMatrix','建立部','女')'    conn.Execute (sql)        sql = 'insert into [职工信息$a1:e65536] values ('888','SQLMatrix','建立部','女',30)'    conn.Execute (sql)    conn.Close    Set conn = NothingEnd Sub
注:(1)SQL语句中的表不错是职责表[职工信息$],或职责表的部分区域[职工信息$a1:e65536] ;(2)指标字段数目和values值的数目要一致。删除记载不因循,小程序开发资讯会报错。

图片

更新记载Sub 更新记载() Dim conn As Object Set conn = CreateObject('ADODB.Connection') conn.Open 'provider=microsoft.ace.oledb.12.0;extended properties='excel 12.0';data source='D:\ExcelSQL数据库.xlsx'' Dim sql As String dep = InputBox('更新张三场地的部门') sql = 'update [职工信息$] set 部门='' & dep & '' where 姓名='张三'' conn.Execute (sql) conn.Close Set conn = NothingEnd Sub注:变量在sql语句中要保留单引号。查询记载
Sub 查询男性职工并写入新的职责表()    Dim conn As Object    Set conn = CreateObject('ADODB.Connection')    conn.Open 'provider=microsoft.ace.oledb.12.0;extended properties='excel 12.0';data source='D:\ExcelSQL数据库.xlsx''    Dim sql As String    sql = 'select * from [职工信息$] where 性别='男''        '创建记载集对象    Dim rs As ADODB.Recordset    Set rs = conn.Execute(sql)        '将记载集的数据写入职责表中,得到字段名    Dim i As Integer    For i = 0 To rs.Fields.Count - 1        ThisWorkbook.Sheets('男性职工').Cells(1, i + 1) = rs.Fields(i).Name    Next        ThisWorkbook.Sheets('男性职工').Range('a2').CopyFromRecordset rs        rs.Close    Set rs = Nothing    conn.Close    Set conn = NothingEnd Sub
回首1、使用ADO对象创建数据库联贯;2、掀开数据库:conn.open形势;3、编写sql语句;4、践诺sql语句:conn.Execute ;若为查询语句,则创建记载集对象用于存储查询成果;5、关闭记载集对象、开释空间;6、关闭数据库联贯对象,开释空间。

参加公众号👆

[扫码下载app,中过数字彩1千万以上的专家都在这儿!]

★★★稽察更多的现实★★★陕西小程序开发

本站仅提供存储劳动,通盘现实均由用户发布,如发现存害或侵权现实,请点击举报。
服务热线
官方网站:r4601.cn
工作时间:周一至周六(09:00-18:00)
联系我们
QQ:2852320325
邮箱:w365jzcom@qq.com
地址:武汉东湖新技术开发区光谷大道国际企业中心
关注公众号

Powered by 陕西小程序开发 RSS地图 HTML地图

Copyright Powered by365站群 © 2013-2024 云迈科技 版权所有