- 一自萧关起战尘
-
Visual Basic对Access数据库的集成非常紧密,通常由以下几个部分组成。
引用DAO类型库
1、从“工程”菜单中选择“引用”菜单项;
2、在可引用列表框中选择“Microsoft DAO 3.51 Object Library”项。
3、最后“确定”即可
设置DAO数据类型变量
DAO数据类型变量共分成两种:
1、Database变量
对应于Access数据库,通常在模块中被定义为Public全程变量:
Public AccessDBF As Database
"定义数据库对象实例AccessDBF
2、RecordSet变量
对应于Access数据库中的一个表,可定义为全程变量或局部变量,亦可作为函数参数进行传递:
Dim thePrintTable As RecordSet
"定义一个表对象实例thePrintTable
打开DAO数据类型
1、打开Access的方法
通常可设置一个专门的Public函数用来打开一个Access数据库,并且该函数在启动窗体的Private Sub Form_load ( )过程中被调用,函数定义格式如下:
Public Sub OpenDatabase ( )
Dim sConeect As String
SConnect = ";PWD = 8830428; UID = admin "
"设置打开时的用户名、口令等参数
Set AccessDBF = Nothing
"确认关闭对象实例
Set AccessDBF = WorksPaces (0 ).OpenDatabase (App.Path&&"/ToXls.MDB",False,sConnect)
"打开当前路径的ToXls.MDB数据库
End Sub
2、打开RecordSet的方法
RecordSet遵循即用即开的原则,所以它通常在函数中打开
Set thePrintTable = AcessDBF.OpenRecordSet ( "Table_1",dbOpenSnapshot )
相关的数据操作
数据实际需要对Access表中的记录、字段、数据项进行操作。下列双重循环把数据输出到Excel对应的单元格中:
For j = 0 To 2
For I = 0 To 3
ThePrintTable.MoveNext
Excel.Sheet.Range ( Trim ( chr ( 71+j*10+I ) )+"G").Value = thePrintTable.Fields (0)
Next I
Next j
关闭数据库
1、关闭Database
它通常在整个应用程序的最后进行操作,即通常出现在Private Sub Form_unload (Cannel As Interger )过程中。命令格式实例如下:
AccessDBF.Close
2、关闭RecordSet
- 可可科科
-
DAO好像打不开ACCESS2000版本的数据库, 如果是ACCESS2000请转换为ACCESS97版本的数据库, 用ACCESS自带的工具就可以转换.要想打开ACCESS2000最好用ADO或引用ADODC控件
- 真颛
-
1.安装OFFICE 2003.
2.将后缀为ASP的ACCESS数据库文件改后缀为:mdb
3.打开.
- 阿啵呲嘚
-
vb 本身就有
OpenDatabase 函数
楼上的傻啊
只是打开 何苦引用vba
调excel阿
(可能需要引用ado
在工程--引用里)
用datagrid
dim db as database
dim rs as recordset
db=opendatabase("user id=;password=;data source=d:a.mdb")
rs=db.OpenRecordSet( "Table1",dbOpenSnapshot)
datagrid1.datasouce=rs
datagrid1.bind
- 安徽路人假
-
如果你在这里咨询,你永远学不会.
还是找本书.参看 ado 章节。
dao模式的就不要再学习了.
=========
vb6.0本身就有一个ado data控件,
- 不白九百
-
----------------模块 连接数据库代码-------------
"传递参数SQL传递查询语句,MsgString传递查询信息。自身以一个数据集对象的形式返回
Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
Dim Cnn As ADODB.Connection "定义连接
Dim Rst As ADODB.Recordset
Dim sTokens() As String "定义字符串
On Error GoTo ExecuteSQL_Error "异常处理
sTokens = Split(SQL) "用Split函数产生一个包含各个子串的数组
Set Cnn = New ADODB.Connection "创建连接
Cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then "判断字符串中是否含有指定内容
Cnn.Execute SQL "执行查询语句
MsgString = sTokens(0) & "query successful" "返回查询信息
Else
Set Rst = New ADODB.Recordset "闯将数据集对象
Rst.Open Trim$(SQL), Cnn, adOpenKeyset, adLockOptimistic "返回查询结果
Set ExecuteSQL = Rst "返回记录集对象
MsgString = "查询到" & Rst.RecordCount & " 条记录"
End If
ExecuteSQL_Exit:
Set Rst = Nothing "清空数据集对象
Set Cnn = Nothing "中断连接
Exit Function
ExecuteSQL_Error: "判断错误类型
MsgString = "查询错误:" & Err.Description
Resume ExecuteSQL_Exit
End Function
"连接数据库
Public Function ConnectString() As String
"返回一个数据库连接
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password= abc ;Data Source=" & App.Path & "data.mdb"
End Function
---------------窗体引用代码--------------
Dim TxtSQL As String
Dim Mrc As New ADODB.Recordset
Dim MsgText As String
TxtSQL = "select * from admin where Name="" & Me.TxtName.Text & "" and PSW="" & Me.TxtPSW.Text & """
Set Mrc = ExecuteSQL(TxtSQL, MsgText)
- 北有云溪
-
文件改后缀为:mdb
- 阳光下的日耳曼尼亚
-
Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr = "Provider = microsoft.jet.oledb.4.0;Data Source="&Server.MapPath("db/xxx.mdb")
Conn.Open ConnStr
- 北境漫步
-
还是看书好,那么庞大的内容,不是网络可以解决的