设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1716|回复: 2
打印 上一主题 下一主题

[与其它组件] [求助]独占与共享的问题?

[复制链接]
跳转到指定楼层
1#
发表于 2006-12-7 18:44:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我搞了个程序,用vba编程,用ado连接方法连接数据库。

因为有好几个窗体要连接到本地数据库,所以我在模块区建立一个公共模块,代码如下:

Option Compare Database
Option Explicit
Public cn As ADODB.Connection
Public strcnn As String
Public Sub connect()
    Dim dbname
   
    On Error Resume Next
    ' 打开数据库连接。
    Set cn = New ADODB.Connection
    dbname = Application.CodeProject.Path
    If Right$(dbname, 1) <> "\" Then dbname = dbname & "\"
    dbname = dbname & "ERP_label.mdb;"
    strcnn = "provider=microsoft.jet.oledb.4.0;persist security info=false;data source=" + dbname
    cn.Open strcnn
End Sub

在窗体打开事件过程中,设置了数据集变量如Set rs = New ADODB.Recordset  

rs.Open "tbl_record_display", cn, , , adCmdTable

当我用共享方式打开数据库时,打开窗体然后进入窗体设计模式就显示错误:“目前你没有对该数据库的独立访问权限,如果继续进行更改,稍后不能将其保存。”

不过我用独占方式打开数据库时,打开窗体时显示错误:“运行时错误”3709“,连接无法用于执行此操作,在此上下文中它可能已被关闭或无效。”

当我将公共模块代码放在窗体打开事件过程中,在独占方式下就没有任何错误发生,请问高手这是什么原因?我希望连接数据库代码放在公共模块区,且在独占方式下没有任何错误?谢谢诶
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-12-7 19:46:00 | 只看该作者
直接用

rs.Open "tbl_record_display", currentproject.connection, , , adCmdTable

不行吗?干吗整这么复杂?
3#
 楼主| 发表于 2006-12-7 21:33:00 | 只看该作者
我加了currentproject.connection,可是说“加载dll错误”,在哪里添加dll?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-2 02:02 , Processed in 0.083995 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表