(文/@数据化分析)
使用Excel通过VBA连接Oracle数据库查询数据,可以实现一键自动快速生成所需的多个标准报表,大大地提高工作效率,节省很多时间。这里将此方法分享给大家,为方便学习,简化了很多功能,仅介绍如何连接数据库并将库表USER_USERS的查询结果保存到Excle表中,先看效果图:通过@微盘分享文件“Excel通过VBA连接Oracle数据库V1.0.rar”,欢迎转发分享 http://t.cn/zO0PnEz大家可以根据业务需求,灵活调整VBA代码,将数据库中的数据输出到标准报表格式之中。接下来介绍实现过程。要连接Oracle数据库,须获取服务名、IP地址、端口、用户名、密码等关键信息,假设Oracle数据库服务器信息如下:有了以上信息之后,如何用Excel通过VBA连接Oracle数据库呢?首先,应安装Oracle客户端(不了解安装过程的朋友请使用Google或百度搜索答案),并用NetManager进行配置(熟悉的朋友可以跳过下面介绍的配置步骤)。Net Manager的配置步骤如下:点击创建Net服务名后,出现Net服务名向导。第一步:输入网络服务名。第二步:选择协议。第三步:输入主机名和端口。第四步:输入服务名。第五步:测试。点击完成,结果如下图:点击上图中的进行连接测试,利用数据库的用户名和密码,直到连接测试成功!保存配置后应该就可以正常连接到Oracle数据库了。下面开始介绍如何用Excel通过VBA连接Oracle数据库。第一步:按Alt+F11,设计窗体。第二步:为窗体添加代码。
第三步:插入“查询”模块。
第四步:插入“菜单”模块。
第五步:为ThisWorkbook添加代码。
最后,在“数据化分析”表中添加SQL语句(可自定义),保存Excle文件,重新打开“Excel通过VBA连接Oracle数据库V1.0.xls”文件,即可像本文开头的效果图那样开始使用了。------------2012年11月25日更新:有用户反馈查出来的数据只有一行,我今天抽空检查了一下,因为当时举的例子只有一行,结果循环时出了点小问题,现已对查询模块的代码进行了修正,修正后的代码为: For i = 1 Tors.Fields.Count
ws2.Cells(row, i) = rs.Fields(i - 1).Name
Next
Do Untilrs.EOF
row = row + 1
For i = 1 To rs.Fields.Count
ws2.Cells(row, i) = rs.Fields(i - 1).Value
Next
rs.MoveNext
Loop
rs.Close在@微盘分享"Excel通过VBA连接Oracle数据库V1.1.rar" http://t.cn/zjbxg32欢迎评论和转载,转载请注明来源于@数据化分析 的博客:http://blog.sina.com.cn/data2analysis,除非特别声明,本站采用许可:署名,非商业。多谢支持!
2012.4.16