VBA连接 SQL SERVER 数据库 实例.doc

VBA连接 SQL SERVER 数据库 实例.doc

ID:51830235

大小:32.50 KB

页数:4页

时间:2020-03-16

VBA连接 SQL SERVER 数据库 实例.doc_第1页
VBA连接 SQL SERVER 数据库 实例.doc_第2页
VBA连接 SQL SERVER 数据库 实例.doc_第3页
VBA连接 SQL SERVER 数据库 实例.doc_第4页
资源描述:

《VBA连接 SQL SERVER 数据库 实例.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、VBA中用ADO访问SQLSERVER数据库:数据查询为了更好的解释,特提供两个实例:使用数据对象ADO访问SQL数据库,从而进行数据查询,并将查询的数据返回到EXCEL中,由于此程序需用到SQL数据库,所以只供大家参考,不便运行,但大家可以看出其精华!====================================================实例1:====================================================   PrivateSubComm

2、andButton1_Click()  DimcnAsNewADODB.ConnectionDimrstAsNewADODB.RecordsetDimR,C,F,IAsIntegerDimSql_text,day1,linenumber,boxAsStringConstcnnstr="Provider=SQLOLEDB;"&_                            "DataSource=apsgszml04;"&_                            "Initi

3、alCatalog=bhl2ken;UserID=sa;Password=;"'连接数据库'默认SQLServer服务器:LOCAL'用户:sa'密码:空'数据库:Northwind'表源:Customersday1=UserForm1.TextBox1.Textlinenumber=UserForm1.ComboBox1.Textbox=UserForm1.ComboBox2.Textcn.OpencnnstrSql_text=Sql_text&"SELECTCONVERT(Char,dbo.TR

4、Y123.[day],101)asdate1,"   Sql_text=Sql_text&"dbo.TRY123.linenumber,dbo.TRY123.box_no,dbo.TRY123.serialnumber,dbo.TRY123.lotnumber"   Sql_text=Sql_text&"FROMdbo.TRY123"   Sql_text=Sql_text&"WHERE(CONVERT(Char,dbo.TRY123.[day],101)='"&day1&"'anddbo.TRY1

5、23.linenumber='"&linenumber&"'anddbo.TRY123.box_no='"&box&"')"   Sql_text=Sql_text&"ORDERBYdbo.TRY123.serialnumber"‘使用SQL数据库查询语言查询                            'SELECT    CONVERT(Char,dbo.TRY123.[day],101)asdate1,dbo.TRY123.linenumber,dbo.TRY123.box_no,d

6、bo.TRY123.serialnumber,dbo.TRY123.lotnumber''FROM      dbo.TRY123'WHERE      (CONVERT(Char,dbo.TRY123.[day],101)="&day1&"anddbo.TRY123.linenumber="&linenumber&"anddbo.TRY123.box_no='"&box&"''ORDERBY  dbo.TRY123.serialnumberrst.OpenSql_text,cn,adOpenSta

7、tic,adLockBatchOptimistic'用adOpenStatic+adLockBatchOptimistic打开较快,且占用资源小R=5  'Excel表的行序号C=3  'Excel表的列序号I=0  'SQL表的字段序号F=rst.Fields.Count-1Worksheets("sheet1").UnprotectWorksheets("sheet1").Cells.ClearContentsWhileNotrst.EOF   ForI=0ToF       Sheet1.Ce

8、lls(R,I+3).Rows.Value=rst.Fields(I).Value   NextI   R=R+1   rst.MoveNext       ’将数据库的数据返回到EXCEL表中WendWorksheets("sheet1").ProtectUserForm1.Hide'MsgBox("读取完毕")rst.Close  '完成后要关闭cn.Close   '完成后要关闭'注意:以上为直接连接SQLServer的方法,不用建ODBC数据源Workshee

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。