VBA EXCEL SQL数据库
1、新建一个Excel表
2、打开后,在菜单处选择【另存为】,并选择另存为【启用宏的Excel工作簿】,生产后缀名为.xlsm的Excel文件。
3、打开后缀名为.xlsm的Excel文件,在选项卡中依次选择【开发工具】【VisualBasic】【Sheet1】,之后在空白处书写VBA代码。
4、编写VBA代码,字符‘ 后为注释语句:
Private Sub name() ’代码开始语句,name可变更
Set conn = CreateObject("adodb.connection") ’无需变更
conn.Open "Driver=SQL Server;SERVER=localhost;Database=dbname;uid=name;pwd=password" ’localhost为数据库ip地址,dbname为数据库名称,name为用户名,password为密码
If conn.State = 1 Then ’无需变更
MsgBox "数据库连接无异常!" ’检查语句,可删除
‘此处编辑CURD,个人习惯使用下列方法
sqll = "select * from table " ’查询语句,按实际需求变更
Set rs1 = conn.Execute(sqll) ’无需变更
Range(lie & hang).CopyFromRecordset rs1 '数据库查询结果将在 lie 列 hang 行开始展示
End If ’无需变更
End Sub ’无需变更
5、编辑完成VBA的代码后,单击执行按钮,即可运行代码,从数据库中导入数据至Excel表对应单元格内。执行按钮在菜单栏上,呈现为【绿色箭头】图标。
1、之前采用的方式,需要每次进入【开发工具】【Visual Basic】中,单击【绿色箭头】按钮才可以运行代码。其实有一种更为简便的操作方式,下面进行介绍:在Excel工作簿内,单击【开发工具】【插入】,选择【表单控件】【按钮】
2、拖动按钮到Excel工作簿内,可以调整按钮的大小,满意后,【双击】按钮图标,可以进入代码编辑页面。
3、【双击】按钮图标进入的代码编辑页面中,有两行代码,第一行:Private Sub CommandButton1_Click()
第二行:End Sub
我们只需将之前提供的VBA代码,【Private Sub name()】与【End Sub】之间的内容复制过来,即可。
关闭代码编辑页面,以后需要运行代码,直接单击按钮控件即可。