当前位置:首页 » 数据仓库 » vbado创建数据库连接
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

vbado创建数据库连接

发布时间: 2022-11-28 16:40:40

⑴ 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代码将access数据库连接求代码

下面这段程序是连接数据库,并将excel表格内容写入数据库。代码如下:
Sub FYMXDL()
Dim XQID As Integer
Dim JZID As Integer
Dim FYID As Integer
Dim FBXZ As String '分包性质
Dim DW As String
Dim SARR(1 To 31) As Double
Dim rst As New ADODB.Recordset
mYpath = ThisWorkbook.Path & "\jzfydata.accdb"
Set cONn = CreateObject("ADODB.Connection")
cONn.ConnectionString = "Provider=Microsoft.Ace.OleDB.12.0;Data Source=" & mYpath
cONn.ConnectionString = cONn.ConnectionString & ";Jet OLEDB:Database "
cONn.Open
XQID = Cells(3, 2).Value
JZID = Cells(3, 5).Value
'清空改小区-建筑的费用明细
sql = "delete from fymxb where 小区ID=" & XQID & " AND 建筑ID = " & JZID
cONn.Execute Sql
Const kshh = 7
hh = kshh
Do While Cells(hh, 3).Value > 0
FYID = Cells(hh, 3).Value
FBXZ = Cells(hh, 11).Text
For i = 1 To 31
SARR(i) = Round(Cells(hh, 13 + i - 1).Value, 2)
Next i
Sql = "INSERT INTO fymxb(小区ID,建筑ID,费用ID,分包性质,工作量,单价合计_中标,人工费_中标, 主材费_中标, 辅材费_中标, 机械费_中标, 管理费_中标, 利润_中标,规费_中标,税金_中标,合价_中标,单价合计_标准成本,人工费_标准成本,主材费_标准成本,辅材费_标准成本,机械费_标准成本,管理费_标准成本,利润_标准成本,规费_标准成本,税金_标准成本,合价_标准成本,单价合计_实际成本,人工费_实际成本,主材费_实际成本,辅材费_实际成本,机械费_实际成本,管理费_实际成本,利润_实际成本,规费_实际成本,税金_实际成本,合价_实际成本) VALUES (" & XQID & ", " & JZID & ", " & FYID & ", '" & FBXZ & "'"
For i = 1 To 31
Sql = Sql & "," & SARR(i)
Next i
Sql = Sql & " )"

cONn.Execute Sql
hh = hh + 1
Loop
End Sub

⑶ 如何用vba代码将access数据库连接求代码

>>.用vba连接ACESS:
Set Conn= Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("sample.mdb")
Conn.Open

>>.用vba连接EXCEL,打开EXCEL记录集:
Set connExcel = Server.CreateObject("ADODB.Connection")
connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath( "InputExcel\sample.xls") &";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';"
connExcel.Open connStr
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "Select * From [sheet1$]", connExcel, 0, 1

>>.vba数据处理[转载]:
===============================================
用Excel+VBA+SQL Server进行数据处理

使用Excel+VBA+SQL Server进行数据处理是一种简单有效方法,掌握以下基础知识实现快速入门(掌握excel/vba/sqlserver各1%内容,你就能成为数据处理高手的:)):

一、Excel基础知识
了解工作簿(Workbook)、工作表(Worksheet)、单元格(Cell)等的基本概念,熟悉一些基本操作。

二、SQL Server基础知识
参见
1、数据库有关概念:数据库、表、记录、字段
A)数据库(Database)
B)表(Table)、记录(行,Row,Record)、字段(列,Column,Field)...

2、常见数据操作的SQL命令:select, insert , update ,delete

三、VBA基础知识:
1、基本概念。
2、基本控制结构:
·顺序结构:程序按顺序执行;
·分支结构命令:

if 条件 then
<如果条件成立执行本语句块>
end if

或:

if ... then
...
else
...
end if

或:

if ... then
...
elseif ...
...
else
...
end if
等。。

·循环结构命令:

for i=? to ??
...
next



do while ...
...
loop

3、在VBA中操纵对象,先理解操纵EXCEL工作表和数据库对象:

将值写入EXCEL单元格,如:thisworkbook.worksheets("sheet1").cells(1,2)=1234444

从EXCEL单元格取得数值,如:x=thisworkbook.worksheets("sheet1").cells(1,2)

数据库操作:

cn.open ...(建立数据连接对象)
rs.open ... (建立数据集对象)
x=rs("...") (读取数值)
rs.close (关闭rs)
cn.close (关闭cn)

cn.execute (执行sql语句)

...

四、例子

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 '与数据库建立连接,如果成功,返回连接对象cn
rs.Open strSQL, cn '执行strSQL所含的SQL命令,结果保存在rs记录集对象中
i = 1
Set 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到500
strSQL=strSQL & "insert into 表名(字段) values(" & sht.cells(i,8)*sht.cells(i,9) & ") ;" '构造SQL命令串
next
'至此生成一串SQL命令串,保存的内容大概为:insert into 表名(字段) values(数值1);insert into 表名(字段) values(数值2);...
cn.execute strSQL '执行该SQL命令串,如果SQL命令没有错误,将在数据库中添加501个记录;也可以用rs.open strSQL,cn 执行
cn.close '关闭数据库链接,释放资源
end sub

=====================================

>>.听说可以用一条语句实现记录集导入excel表,而且不是用循环的,不知道是真是假,等待高手的回答。

⑷ 如何在VBA中用ADO连接远程的access数据库

远程连接access数据库的几个方法:
1.建立VPN(Virtual Private Network),然后把服务器中mdb文件所在的 Folder 共享即可。连接方法如下:
“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\服务器名\\文件夹 \\mydata.mdb;Jet
OLEDB:Database Password=datapass;Persist Security Info=False”
2.把数据库放在Web 服务器上,使ADO或RDO通过RDS(Remote Data Service) 及IIS来实现:
如果服务器设置了ODBC DSN的话,连接方法如下:
"Provider=MS Remote;Remote Server=http://服务器名;Remote Provider=MSDASQL;DSN=AdvWorks;Uid=dataUserName;Pwd=dataPassWord"
如果设置的是OLE DB Provider 的话,连接方法如下:
"Provider=MS Remote;Remote Server=http://服务器名;Remote
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=数据库文件路径,"+ "admin,"+"" (数据库用户名为:admin;密码为空)
3.编写服务器程序,通过TCP/IP,传递Recordset。
4.使用第三方控件,如:ADO Anywhere或UDAParts RDB等。
5.使用XMLHTTP

应用举例
OledbConnection myconn = null;
myconn = new OledbConnection("192.168.1.155", "DSN=mydata;DRIVER={Microsoft Access Driver (*.mdb)};UID=test;PWD=test;"); //其中服务器IP是 192.168.1.155 ;数据库名是 mydata ;数据库用户名这密码都是test myconn.Open();

⑸ 用vba如何连接网上的sql数据库

代码如下:有问题,发网络消息给我。

在Microsoft visual basic中,工具-引用 Microsoft ActiveX Data Objects 2...选一个高版本的

Dim conn As New ADODB.Connection
connStr = "Driver={SQL Server};DataBase=test;Server=(local);UID=sa;PWD=123"
conn.Open connStr '连接数据库
Dim rs As New Recordset
sql = "select * from a" '查看表a
rs.Open sql, conn, 3, 3
Do While Not rs.EOF '循环表a的内容
MsgBox (rs("field1")) '显示表中field1字段内容
rs.MoveNext
Loop

'connStr = "Driver={SQL Server};DataBase=test;Server=(local);UID=sa;PWD=123"
'test是数据库名
'(local)是服务器名或IP地址,可以:192.168.1.1,可以是:www.sina.com.cn
'sa是数据库用户
'123是数据库用户密码

⑹ VBA 如何通过ADO连接Oracle数据库拜托各位大神

1、把开excel,点击工具-->宏-->录制新宏 2、点击 数据-->导入外部数据-->新建数据库查询,然后根据向导选择oracle驱动,最后完成向导 3、点停止宏,再点 工具-->宏-->宏... 在对话框里选择刚才录制的宏,点编辑, 这样就可以看到连接字符串了。

⑺ vba连接SQL数据库方法

如下:自己改一下:


Subaa()
DimcnAsNewADODB.Connection
DimrsAsNewRecordset
Str1="select区域,内=SUM(casewhen新替换区内外='替换区内'then1else0end),外=SUM(casewhen新替换区内外='替换区外'then1else0end)from宏站groupby区域"

strcn="Provider=sqloledb;Database=test;Uid=sa;Pwd=30687724;datasource=127.0.0.1,1433;"
cn.Openstrcn
rs.OpenStr1,cn
Dimi
Fori=1Tors.Fields.Count
Cells(1,i)=rs.Fields(i-1).Name’FIELDS是从0开始的,所以这里要-1


Range("a2").CopyFromRecordsetrs
Nexti

⑻ 求教VBA连接SQL数据库的详细方法及解释。

1、基本上所有的数据库都有对应的写法(有些数据库是要装连接驱动才能连),比如"Provider=Microsoft.Jet.OLEDB.4.0(用来连接access)或者provider =MSDASQL,而且每种数据库也可能会有多种连接方法(Provider意即数据库引擎),常见的有下面这些

Provider 代码 Provider
ADSDSOObject Active Directory Services
Microsoft.Jet.OLEDB.4.0 Microsoft Jet databases
MSDAIPP.DSO.1 Microsoft Internet Publishing
MSDAORA Oracle databases
MSDAOSP Simple text files
MSDASQL Microsoft OLE DB provider for ODBC
MSDataShape Microsoft Data Shape
MSPersist Locally saved files
SQLOLEDB Microsoft SQL Server
2、参见http://www.w3school.com.cn/ado/met_conn_open.asp#connectoptionenum
3、这样就可以对book1.xlsx中的数据使用sql语法进行操作
4、当你需要返回结果的,比如说你要查询数据库符合某个条件的有几条记录,或者说取出数据库中符合条件的一批记录的时候就要用数据集,单一的conn.execute只能执行操作,不能返回数据,必须配合结果集使用才可取回数据。

⑼ vbaExcel连接数据库的好处

EXCEL vba 数据库连接

听语音

  • 原创

  • |

  • 浏览:7393

  • |

  • 更新:2016-06-23 16:12

  • |

  • 标签:EXCELVBA