ai 文爱

附近上门 VBA试验·欺诈ADO操作Excel责任表数据

附近上门 VBA试验·欺诈ADO操作Excel责任表数据

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、关闭数据库鸠合对象,开释空间。

参加公众号👆

夫人每天都在线打脸

★★★检讨更多的本体★★★附近上门

本站仅提供存储干事,扫数本体均由用户发布,如发现存害或侵权本体,请点击举报。

上一篇:taylor swift ai换脸 济南转移住房公积金贷款计谋!二孩及以上家庭最高能贷130万    下一篇:附近上门 中国房协:倡议开展百城商品房促销步履    

友情链接:

Powered by ai 文爱 @2013-2022 RSS地图 HTML地图

Copyright Powered by365站群 © 2013-2024