收录日期:2019/01/20 03:06:03 时间:2016/05/20 23:29:59 标签:数据库(包含打印,安装,报表)
使用DATA控制怎样连接ACCESS数据库呀,我定义了DB AS DATA变量,使用DB.DATABASENAME属性就报错,说是控件变量没有引用,要怎样引用呀.最好能给我完整的数据库连接代码
data控件是属于dao的范畴

如果没装vbsp5,data控件只能连接access97,不支持access 2000

解决办法:
办法一:建议你安装VBSP5

办法二:你可以把数据库转化为ACCESS97

办法三:用ADODC控件连接ACCESS2000数据库

办法四:用ADO连接字符串连接数据库
建议用ado连接


工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)

    Dim CN   As New ADODB.Connection                '定义数据库的连接
    Dim Rs   As New ADODB.Recordset

    CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
    CN.Open

    Rs.CursorLocation = adUseClient
    Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic

    Set DataGrid1.DataSource = Rs
如果你非要用dao可以看这个例子(来源:msdn)
Option Explicit
Private daoDB36 As Database
Private rs As Recordset
Dim sPath As String

Private Sub Form_Load()
    sPath = _
    "C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"
    Set daoDB36 = DBEngine.OpenDatabase(sPath)
    Set rs = daoDB36.OpenRecordset("Customers")
    Set Data1.Recordset = rs
End Sub


另外,建议使用ado,如果不喜欢直接用ado对象,可以使用adodc控件

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbconIntrnscDataCtrlAndAccess2000.asp
Option Explicit
Dim db As Database, rs As Recordset

Sub Main()
   Pro1.frmMDI.Show
   Set db = DBEngine.OpenDatabase(App.Path & "\db.mdb")
   Set rs = Conn.OpenRecordset("user")
   Set Data1.Recordset = rs
End Sub

SP5补丁打过了
错误:data1变量未定义
     rs变量类型不匹配
     data1要求对象

高手指教!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
还是用ADO吧,毕竟ADO比DAO的功能强大不少.
引用 DAO 3.6

没有 data1控件
建议用Ado吧,也是微软推荐的方式

工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)

    Dim CN   As New ADODB.Connection                '定义数据库的连接
    Dim Rs   As New ADODB.Recordset

    CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
    CN.Open

    Rs.CursorLocation = adUseClient
    Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic
    msgbox Rs.Recordcount
Public db As Database
Public rs As Recordset

Set db = OpenDatabase(App.Path & "\txl.mdb")
Set rs = db.OpenRecordset("select * from table" )
用ADO 比较好,
知道了

但是我要弄明白DAO的连接.....

怎样引用DAO,  如果定义rs变量类型为recordset时,运行出错:数据类型不匹配.定义为object类型时可以通过.

我打了SP5的补丁,可还是不能连接ACCESS2000,为什么.
工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)
如果定义rs变量类型为recordset时,运行出错:数据类型不匹配,
这个问题以前我也遇到过,工程--->引用里要选择适当,用到的要选全.用不到的不要选上,或者调整一下优先级.


to moonlight007(离人影) :

引用DAO


工程--->引用--->Microsoft Dao 3.6 Object library

dim db As Database
dim rs As Recordset
知道如何引用了, 但以上问题并没有得到解决

to moonlight007(离人影) :

引用DAO


工程--->引用--->Microsoft Dao 3.6 Object library

dim db As Database
dim rs As Recordset

引用里哪些是应当先的, 哪些的优先级高呢.........
有些引用是默认的,默认的引用一般不要修改。没有优先级吧!
好了修改了引用recordset类型定义不会出错了

可是在set data1.recordset=rs的时候报错误: 要求对象

这是什么问题呢, data1的变量类型应怎样定义呢???????/
设置一下DATABASENAME的属性:
       datasource属性
       recordsource属性
还是用ADO控件吧 这个控件的功能也较强大的。
知道了ADO控件我也较熟一些

但我就搞不懂这个data1从哪里冒出来.楼上说设置databasename这些属性我也设置过
报错: 实时错误"424"
      要求对象

http://www.sz.gov.cn/这个网站上的今日视点,每一条新闻链接对应的都是一个新的页面,而不是同一个页面? Delphi自带的Mediaplayer在98下录音的问题 如何在PPT中实现Flash的播放控制? 怎么把5条记录拼成一条字符串? 那里有MS InterDEV 6.0 軟件下載? 我的电脑登录之后,过好长时间才能出现桌面,什么原因? 预建一个提供c#代码下载的栏目,愿意共享代码的mail我! up有分! “C/C++、SDK、MFC、Windows O.S 這一條線”是不是还适合,要不要修改?? 请教:关于插件问题 给各位介绍一个著名的网页, 我天天都会看到它. 每当看到它的时候, 我发现自己血压上升... 最基本的问题,100分求教。 float 和decimal两种数据类型的区别是什么? 真心请教高手:用javascript弹出一个提示框,比如我要写上:“你有新留言”!如何实现!谢谢了先! 弱弱的问,为什么这样不对? 触发器问题,代码我都贴出来了 考试题目:高手帮忙:分不多:都给了 分不多,还请指点 我刚刚下载了jb9,安装后没有帮助文件,该怎么办? 求VC或BC控件 (图形报表制作) C问题 “C/C++、SDK、MFC、Windows O.S 這一條線”是不是还适合,要不要修改?? dbo和network 简单的问题,在线等, javascript有没有想csdn这样的在线帮助? 思科NETWORKERS 2003大会实况,大家来看亚! gtk程序运行得过程中的告警,编译的时候没有任何的错误 (进来看看,help me) 电子商务技术支持!!! handle 是个什么东西?! 怎么使设按键的快捷方式? 好奇怪的问题(我只有这些分了)