ExcelVBA连接MySQL数据库遇到的巨坑
1月25日 话藏心投稿 笔者在工作中,经常使用ExcelVBA查询和汇总数据,非常方便,但最近遇到个麻烦,怎么也解决不了,今天整理出来还请高手帮忙指导。
一、原始数据
数据库名称:corn
表:成品出库
查询代码:SELECTdate,shtid,customer,product,小袋规格,大袋规格FROM成品出库
wherecustomer何现锋andproduct达育5158
查询结果如下图(经核对与原始数据一致):
查询结果
二、ExcelVBA连接MySQL数据库
连接代码:OptionExplicit
SubGetDataFromMysql()
DimconAsNewADODB。Connection
DimrsAsNewADODB。Recordset
DimsqlAsString,customername
DimshAsWorksheet
DimiAsInteger
SetshSheets(2)
sh。Range(A1:L500)。Clear
连接数据库
con。ConnectionStringdriver{MySQLODBC8。0unicodeDriver};port3306;
con。Open
customernameSheets(2)。Range(M2)。Value
sqlselectdate,customer,address,product,小袋规格,大袋规格from成品出库wherecustomerlikecustomername
rs。Opensql,con,adOpenStatic,adLockOptimistic
设置表头
sh。Range(A1:E1)。ValueArray(ID,date,name,salary,other)
Fori0Tors。Fields。Count1
sh。Cells(1,i1)rs。Fields(i)。name
Nexti
输出结果
sh。Range(A2)。CopyFromRecordsetrs
关闭连接,释放内存
rs。Close
con。Close
SetrsNothing
SetconNothing
EndSub
运行代码后查询结果:
巨坑来了,大家注意看product列中品种名称达育5158,只显示:达育51。丢失了部分数据。
连接数据库查询结果
三、VBA连接EXCEL检查查询结果
代码:OptionExplicit
SubQueryFromExcel()
DimConnAsObject,RstAsObject
DimstrConnAsString,strSQLAsString
DimiAsInteger,PathAsString
DimcustomernameAsString
SetConnCreateObject(ADODB。Connection)
SetRstCreateObject(ADODB。Recordset)
PathE:public历年报表玉米报表2022。7。13。xls
SelectCaseApplication。Version1
CaseIs11
strConnProviderMicrosoft。Jet。Oledb。4。0;ExtendedPropertiesexcel8。0;DatasourcePath
CaseIs12
strConnProviderMicrosoft。ACE。OLEDB。12。0;DataSourcePExtendedPropertiesExcel12。0;HDRYES;
EndSelect
设置SQL查询语句
customernameSheets(2)。Range(M2)。Value
strSQLSELECTdate,customer,address,product,小袋规格,大袋规格FROM〔成品出库〕wherecustomerlikecustomername
oraddresslikecustomernameorproductlikecustomernameordescriptionlikecustomername
Conn。OpenstrConn打开数据库链接
SetRstConn。Execute(strSQL)执行查询,并将结果输出到记录集对象
WithSheet2
。Range(A1:L1000)。Clear
Fori0ToRst。Fields。Count1填写标题
。Cells(1,i1)Rst。Fields(i)。name
Nexti
。Range(A2)。CopyFromRecordsetRst
EndWith
Rst。Close关闭数据库连接
Conn。Close
SetConnNothing
SetRstNothing
EndSub
如图所示结果显示正常:
VBA连接Excel查询结果
不知道为什么,非常无奈,请哪位知道的高手朋友帮忙看看问题出在哪里?
投诉 评论
栀子根性味:味甘、苦,性寒。归经:入肝、胆、胃经。入药部位:根。形态特征:本品呈圆往形,有分枝,多已切成短段,长25厘米。表面灰黄色或灰谒色,具有瘤状突起的须根痕。……
古代斗茶乐古代有钱有闲人的一种雅玩图片与文章无关联原标题:古代斗茶乐在古代,斗茶可谓风靡一时,如同西班牙斗牛,一样惹人眷爱。但不同的是,斗茶要文雅得多,其文化内涵也十足丰富。斗茶,即比赛茶的优……
一个人变厉害的方法洞察秋毫01hr一个人如何才能变得越来越厉害呢?生活中,我们不妨用拋砖引玉的方式,作为人生的考验和借鉴。同时也可能与你过往的经验和认知相悖,不要过多地在乎他人的意见和对你的……
遇见爱情,遇见你遇见你,有喜欢你,直至现在,你在我心里都没有任何瑕疵人生总有很多的缘分,你说该不该说是运气好呢?一个莫名的机会,就像是上天注定一般,差一步你都会丢失这份……
监管务实逼退天价月饼,奇葩月饼却悄然风行距离今年中秋还有一个月的时间,月饼的销售大幕已然徐徐拉开。在这个时间节点,8月10日,国家发改委微信公众号发布消息称,将会同工信部、商务部和市场监管总局三部门密切协作配合,强化……
新衣服,旧衣服,你的衣服还在吗?以前瘦的时候这裙子正合适,现在拉链拉一半,家里一大柜子的漂亮裙子就这样穿不了了,每天穿来穿去的就是那几条宽松的黑色的加大的裤子,非常难看。这人一胖,虎背熊腰的就不可能婀娜多姿了……
人工智能的未来是模拟的吗?印度研究者提出未来模拟AI芯片的框人工智能的未来是模拟的吗?新框架扩展模拟AI芯片:为了重振模拟芯片设计的需求,印度科学研究所(IISC)的研究人员描述了未来模拟AI芯片的框架。随着该行业继续推动机器学习……
盘点职场闺蜜间的大安全话题虽然不是每个职场中人都认为职场无闺蜜,不过大多数人都觉得和同事交朋友存在一定的风险,并且也确实有不少人和林赛一样栽过跟头。那么我们要怎么办才可以既拥有亲密的闺中情谊,又能安全地……
天性造句用天性造句大全一百八十一、我天性也许有些狡猾,但却一心想成为个真正的君子,有时我做事虽然虚伪,但无论如何,我总是照君子的样子做了出来。一百八十二、人要如何超越自己的境遇,这并非是可以训……
不换变速箱油有什么危害汽车变速箱油是保持排档系统清洁的油类用品,能起到保证变速箱正常工作并延长传动装置寿命的作用。请问汽车变速箱油多久换一次?怎么辨别好坏?不换变速箱油有什么危害?下面本站就来为大家……
驻政务服务中心办事处半年工作总结上半年以来,我办在市局和政务服务中心管理办公室的正确领导下,认真贯彻落实市局和中心各项精神,进一步优化经济发展环境,积极实施科学化、规范化、精细化管理,取得了可喜的成绩,促进各……
科普文无论在哪选配计算机都要懂得常识先看思维导图!编辑搜图电脑整机包括:台式机、一体机、服务器工作站、笔记本、游戏本、平板电脑。我们就以台式机为切入点,首先厘清选配过程!一、明确现实的应用……