全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VBA中用ADO访问SQL SERVER数据库:数据查询为了更好的解释,特提供两个实例:使用数据对象ADO访问SQL数据库,从而进行数据查询,并将查询的数据返回到EXCEL中,由于此程序需用到SQL数据库,所以只供大家参考,不便运行,但大家可以看出其精华!=实例1:= Private Sub CommandButton1_Click() Dim cn As New ADODB.ConnectionDim rst As New ADODB.RecordsetDim R, C, F, I As IntegerDim Sql_text, day1, linenumber, box As StringConst cnnstr = Provider = SQLOLEDB; & _ Data Source = apsgszml04; & _ Initial Catalog = bhl2ken;User ID =sa;Password =;连接数据库 默认SQL Server服务器:LOCAL 用户:sa 密码:空 数据库:Northwind表源:Customersday1 = UserForm1.TextBox1.Textlinenumber = UserForm1.ComboBox1.Textbox = UserForm1.ComboBox2.Textcn.Open cnnstrSql_text = Sql_text & SELECT CONVERT(Char,dbo.TRY123.day,101) as date1, Sql_text = Sql_text & dbo.TRY123.linenumber,dbo.TRY123.box_no,dbo.TRY123.serialnumber,dbo.TRY123.lotnumber Sql_text = Sql_text & FROM dbo.TRY123 Sql_text = Sql_text & WHERE (CONVERT(Char,dbo.TRY123.day,101)= & day1 & and dbo.TRY123.linenumber= & linenumber & and dbo.TRY123.box_no= & box & ) Sql_text = Sql_text & ORDER BY dbo.TRY123.serialnumber 使用SQL数据库查询语言查询 SELECT CONVERT(Char,dbo.TRY123.day,101) as date1,dbo.TRY123.linenumber,dbo.TRY123.box_no,dbo.TRY123.serialnumber,dbo.TRY123.lotnumberFROM dbo.TRY123WHERE (CONVERT(Char,dbo.TRY123.day,101)= & day1 & and dbo.TRY123.linenumber= & linenumber & and dbo.TRY123.box_no= & box & ORDER BY dbo.TRY123.serialnumberrst.Open Sql_text, cn, adOpenStatic, adLockBatchOptimistic 用adOpenStatic + adLockBatchOptimistic打开较快,且占用资源小R = 5 Excel表的行序号C = 3 Excel表的列序号I = 0 SQL表的字段序号F = rst.Fields.Count - 1Worksheets(sheet1).UnprotectWorksheets(sheet1).Cells.ClearContentsWhile Not rst.EOF For I = 0 To F Sheet1.Cells(R, I + 3).Rows.Value = rst.Fields(I).Value Next I R = R + 1 rst.MoveNext 将数据库的数据返回到EXCEL表中WendWorksheets(sheet1).ProtectUserForm1.HideMsgBox (读取完毕)rst.Close 完成后要关闭cn.Close 完成后要关闭注意:以上为直接连接SQL Server 的方法,不用建ODBC数据源Worksheets(sheet1).ActivateEnd Sub=实例2:=sub test() 定义过程名称Dim i As Integer, j As Integer, sht As Worksheet i,j为整数变量;sht 为excel工作表对象变量,指向某一工作表Dim cn As New ADODB.Connection 定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用Dim rs As New ADODB.Recordset 定义记录集对象,保存数据表Dim strCn As String ,strSQL as String 字符串变量strCn = Provider=sqloledb;Server=服务器名称或IP地址;Database=数据库名称;Uid=用户登录名;Pwd=密码; 定义数据库链接字符串下面的语句将读取数据表数据,并将它保存到excel工作表中:画两张表想像一下,工作表为一张两维表,记录集也是一张两维表strSQL = select 字段1,字段2 from 表名称 定义SQL查询命令字符串cn.Open strCn 与数据库建立连接,如果成功,返回连接对象cnrs.Open strSQL, cn 执行strSQL所含的SQL命令,结果保存在rs记录集对象中i = 1Set sht = ThisWorkbook.Worksheets(sheet1) 把sht指向当前工作簿的sheet1工作表Do While Not rs.EOF 当数据指针未移到记录集末尾时,循环下列操作 sht.Cells(i, 1) = rs(字段1) 把当前记录的字段1的值保存到sheet1工作表的第i行第1列 sht.Cells(i, 2) = rs(字段2) 把当前字段2的值保存到sheet1工作表的第i行第2列 rs.MoveNext 把指针移向下一条记录 i = i + 1 i加1,准备把下一记录相关字段的值保存到工作表的下一行Loop 循环rs.Close 关闭记录集,至此,程序将把某数据表的字段1和字段2保存在excel工作表sheet1的第1、2列,行数等于数据表的记录数下面的语句将读取excel工作表数据,并将之简单计算后存入数据库,这里使用上面程序中的一些变量假设分别读取工作表sheet1第5行至第500行的第8列和第9列已存在的数据,然后将它们相乘,并将积存入数据库的某个表strSQL= 清空上面定义的变量for i=5 to 500 循环开始,i从5到500s strSQL=strSQL & insert into 表名(字段) values( & sht.cells(i,8)*sht.cells(i,9) & ) ; 构造SQL命令串next至此生成一串SQL命令串,保存的内容大概为:insert int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026辽宁省朝阳市喀左县教育局直属学校赴高校招聘教师(第二批次)13人建设考试参考题库及答案解析
- 2026年4月广东深圳市龙华区科技创新局招聘专业聘用人员2人建设考试备考题库及答案解析
- 2026四川宜宾兴文县兴投发展有限责任公司招聘2人建设笔试备考题库及答案解析
- 2026山东烟台市莱州市人民医院招聘高层次人才78人建设笔试备考题库及答案解析
- 2026山东日照市消防救援支队政府专职消防队员招收建设考试参考试题及答案解析
- 2026年消防文员理论知识考试题库(350题)
- 2026云南省第三人民医院面向全国招聘高层次人才27人建设考试参考题库及答案解析
- 2026安徽财经大学英语专任教师(人事代理)招聘2人建设考试备考试题及答案解析
- 2026德阳科贸职业学院春季人才招聘建设考试参考试题及答案解析
- 2026内蒙古包头市石拐区福利院招聘1人建设考试备考题库及答案解析
- 多重耐药菌医院感染预防与控制技术指南(试行)
- 2025至2030中国光热发电行业调研及市场前景预测评估报告
- 2025年中级特种消防车驾驶员《理论知识》考试真题(含基础解析)
- 化疗期间便秘的预防和处理
- 交通安全设施故障应急措施
- 培训内驱力的课件教学
- 中国古代工匠精神人物
- 养猪场自动化喂养系统建设方案
- 2025特变电工校园招聘200人笔试历年参考题库附带答案详解
- 移动式操作平台专项施工方案(二期)
- 2025年红色文化知识竞赛试题题及答案
评论
0/150
提交评论