资源描述:
《excelsqlservervba增删改查》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、ExcelSQLServerVBA增删改查BuladeHu(QQ1667989813)2014-05-141、打开Excel的开发工具2、查看VBA代码(右键单击对应的Sheet->单击查看代码)1、VBAProject里面存放代码实现,Sheet1里面的代码是指对应的工作簿的,ThisWorkbook指Excel整个文档“保存”按钮里面实现的逻辑,会影响所有的工作簿。2、链接数据的代码如下Publicconn1AsNewADODB.ConnectionPrivateSubWorkbook_BeforeSave(ByValSav
2、eAsUIAsBoolean,CancelAsBoolean)'建立数据链接Ifconn1.State=0ThenWithconn1.CommandTimeout=60.ConnectionString="PROVIDER=SQLOLEDB;server=192.168.252.106;database=kuka_basedata;UID=u9pub;PWD=123".OpenEndWithEndIfDimrstempAsNewADODB.RecordsetDimsSQLAsStringOnErrorGoToerr1'仓库验货导
3、入Fori=2ToSheet1.[A65536].End(xlUp).RowIfSheet1.Cells(i,1)<>""ThenSetrstemp=conn1.Execute("select*fromkuka_OrderMonitorElsewhere销售订单号='"&Sheet1.Cells(i,1)&"'")Ifrstemp.EOF=TrueThensSQL=sSQL&"insertintokuka_OrderMonitorElse(销售订单号,验货实际完成,验货状态,验货备注)values('"&Sheet1.Cells
4、(i,1)&"','"&Sheet1.Cells(i,2)&"','"&Sheet1.Cells(i,3)&"','"&Sheet1.Cells(i,4)&"')"ElsesSQL=sSQL&"updatekuka_OrderMonitorElseset验货实际完成='"&Sheet1.Cells(i,2)&"',验货状态='"&Sheet1.Cells(i,3)&"',验货备注='"&Sheet1.Cells(i,4)&"'where销售订单号='"&Sheet1.Cells(i,1)&"'"EndIfEndIfNextiIf
5、sSQL<>""Thenconn1.Execute(sSQL)EndIf'财务付款导入sSQL=""Fori=2ToSheet2.[A65536].End(xlUp).RowIfSheet2.Cells(i,1)<>""ThenSetrstemp=conn1.Execute("select*fromkuka_OrderMonitorElsewhere销售订单号='"&Sheet2.Cells(i,1)&"'")Ifrstemp.EOF=TrueThensSQL=sSQL&"insertintokuka_OrderMonitorE
6、lse(销售订单号,第一次付款保障实际完成,第二次付款实际完成时间)values('"&Sheet2.Cells(i,1)&"','"&Sheet2.Cells(i,2)&"','"&Sheet2.Cells(i,3)&"')"ElsesSQL=sSQL&"updatekuka_OrderMonitorElseset第一次付款保障实际完成='"&Sheet2.Cells(i,2)&"',第二次付款实际完成时间='"&Sheet2.Cells(i,3)&"'where销售订单号='"&Sheet2.Cells(i,1)&"'"En
7、dIfEndIfNextiIfsSQL<>""Thenconn1.Execute(sSQL)EndIfMsgBox"变更完成"ExitSuberr1:MsgBoxErr.DescriptionEndSub