收录日期:2018/10/23 13:39:27 时间: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"
      要求对象

急!!!!怎么样抓取屏幕????????? tell me WHY?? 怎么办?? WIN2003,启用防火墙后不能防问局域网? 怎么样才能关闭浏览器窗口而不提示 为什么表单在提交成功后没有自动清除。 about ADO call Procedure javascript和jsp在一起的问题????????? 如果用户的浏览器没有按照Java虚拟机,如何让它从我们的web服务器上下载并安装,以便运行Applet? 求救!谁有像这样的菜单? Access中克隆数据库的问题 初学者,请大家指点 想买台打印机打印照片,大家推荐一下 请问在 www.oracle.com 下载的 Oracle 和正版的界面是否一样? 请问sql语句返回一个int,应该怎么取? winform 中 textbox 或 combobox 如何使用数据验证控件 ? 请问如果一个域内有二台域控制器,那请问terminal server licensing应该安装在哪台机器上. WEB页打印问题~ 大家帮忙出现Struts文件编译的奇怪的异常?? 为什么在ASP.NET页面中调用js文件中的函数的时候,当js中的字符串变量包含中文的时候,在编译的时候会出错,.net不认识js中的中文字符!\0 WebService中如何传递参数,类型、个数都是不固定的(想用HashTable和Object数组不行)。 如何连接公司网站上的access数据库??用什么组件和技术? DataGrid编辑的时候!输入框很长,把DataGrid拉得很长。很不好,怎么办? 用java生成的文本文档如何加密? 有一个字段是 varchar型,字段里面存的是2003-6-9 8:00:00这样的数据. 为了让散分、休闲、情绪、聊天贴不再被删除,大家赶快去支持! 数据保存的问题 SWING 问题? 有谁能告诉我tomcat5.0安装后他的默认存放servlet的目录是哪一个? 一道VHDL的程序题,确实是道作业题,还是请帮忙看一下.帮帮忙.(分值100全给) 以qls为扩展明的帮助文件制作工具。那个有给我发一个。