vba 数据库,vbaExcel连接数据库的好处
大家好,如果您还对vba 数据库不太了解,没有关系,今天就由本站为大家分享vba 数据库的知识,包括vbaExcel连接数据库的好处的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
vbaExcel连接数据库的好处
EXCEL vba数据库连接
听语音
原创
|
浏览:7393
|
更新:2016-06-23 16:12
|
标签:EXCELVBA
1
请点击输入图片描述
2
请点击输入图片描述
3
请点击输入图片描述
4
请点击输入图片描述
5
请点击输入图片描述
分步阅读
vba可以连接数据库并获取数据库的信息进行显示。
工具/原料
EXCEL2007
方法/步骤
1
首先在开发工具选项卡中插入一个表单控件(按钮)。
请点击输入图片描述
2
拖拽出按钮后会弹出指定宏的窗口,这里我们新建宏。
请点击输入图片描述
3
新建按钮单击后,进入模块代码编辑界面,这里开始编辑代码。
请点击输入图片描述
4
如图,代码已经编辑好了,这里为大家解析一下代码的功能:
Dim cn As Object'定义数据链接对象,保存连接数据库信息
Dim rs As Object'定义记录集对象,保存数据表
Set cn= CreateObject("ADODB.Connection")'创建数据链接对象
Set rs= CreateObject("ADODB.RecordSet")'创建记录集对象,用于接收数据查询获得的结果集
Dim strCn As String, strSQL As String'字符串变量
strCn="Provider=sqloledb;Server=(local);Database=yourdatabasename;Uid=sa;Pwd=yourpassword;"'定义数据库链接字符串
strSQL="select bookname,price,author from book"'设置SQL语句
cn.Open strCn'打开连接
rs.Open strSQL, cn‘读取数据库中的数据
Dim i As Integer, j As Integer, sht As Worksheet'i,j为整数变量;sht为excel工作表对象变量,指向某一工作表
Set sht= ThisWorkbook.Worksheets("sheet1")
’循环读取数据并将数据显示到excel中
Do While Not rs.EOF'当数据指针未移到记录集末尾时,循环下列操作
sht.Cells(i, 1)= rs("bookname")'把当前记录的字段1的值保存到sheet1工作表的第i行第1列
sht.Cells(i, 2)= rs("price")'把当前字段2的值保存到sheet1工作表的第i行第2列
sht.Cells(i, 3)= rs("author")'把当前字段2的值保存到sheet1工作表的第i行第2列
rs.MoveNext'把指针移向下一条记录
i= i+ 1'i加1,准备把下一记录相关字段的值保存到工作表的下一行
Loop'循环
rs.Close'关闭记录集,至此,程序将把某数据表的字段1和字段2保存在excel工作表sheet1的第1、2列,行数等于数据表的记录数
5
执行结果与数据库中结果对比
请点击输入图片描述
请点击输入图片描述
Access数据库怎么用VBA
最近有不少的Access用户们,会询问小编数据库使用VBA的操作,今日在这篇文章内小编就为你们带来了Access数据库使用VBA的操作方法。
Access数据库使用VBA的操作方法
1、打开Access数据库,如图所示。
2、点击“数据库工具”选项卡中“VisualBasic”,如图所示。
3、在弹出的VBA界面,先选择数据库,然后点击右键,选择“插入”,“模块”,不同于excel中的VBA,Access中的VBA代码需要放置于模块中,如图所示。
4、在模块中输入VBA代码,并点击“运行子程序”,如图所示。
5、这样,所输入的VBA代码就会在Access数据库中运行,如图所示。
Access|
能否在excel中用vba实现与sql数据库的数据比较
我的方法是:
先在Excel里建立一个来自SQL的外部数据查询,把SQL的approve表的数据导入Excel中(一般建议根据“受理编号”升序排列),然后在用vlookup函数查找。
假设Excel中受理编号字段为第一列,从SQL导出来的数据放在H1开始的字段里,这函数为:
=vlookup(A1,H:J,2,FALSE)
则如果有重复就会返回重复编号右列的数据。
如果你想要其他列的数据,改一下比较区域,和列数就可以了
Access VBA 创建新MDB数据库
'下列ACCESS窗体按钮单击事件过程(VBA代码)实现在当前目录下创建一个新MDB数据库,
'并在该数据库内新建一张学生表同时插入一条学生信息。
'有关代码需要引用ADO数据访问对象及其扩展ADOX类库
'引用方法:
'打开VBE窗口
'引用ADO——菜单"工具"->"引用"-->勾选 Microsoft ActiveX Data Objects 2.1 Library或更高版本,点击确定按钮
'引用ADOX——菜单"工具"->"引用"-->勾选 Microsoft ADO Ext.2.7 for DDL ado Security或更高版本,点击确定按钮
Private Sub Command0_Click()
Dim MyMDB As New ADOX.Catalog'声明并示例化一个ADOX.Catalog对象
Dim cn As New ADODB.Connection'声明并示例化一个ADO连接对象
Dim cnStr As String'声明一个连接字符串变量
'在当前目录下创建一个名为“NewAccessDB”的ACCESS数据库
MyMDB.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& CurrentProject.Path&"\NewAccessDB.mdb"&";")
'设置连接上述代码新创建的数据库之连接字符串
cnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& CurrentProject.Path&"\NewAccessDB.mdb"&";"
'打开与该数据库的连接
cn.Open cnStr
'新建一张学生表
cn.Execute"create table students(sname text(30),sex text(1),birth date)"
'向学生表插入一条数据
cn.Execute"insert into students values('张三','男',#1998-02-03#)"
'关闭连接
cn.Close
'提示操作成功
MsgBox"新数据库已成功创建,并在其中建立了一张学生表同时并插入一条学生信息"
End Sub
关于vba 数据库,vbaExcel连接数据库的好处的介绍到此结束,希望对大家有所帮助。