设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] 请高手指教一段小程序,谢了

[复制链接]
跳转到指定楼层
1#
发表于 2011-9-17 18:06:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有两个数据库A和B,现在打开A库的A11窗体,双击一个控件后希望打开B库中的B11窗体,并让数据记录定位与A11窗体记录相同,我用的代码是:
   Dim objappAccess As New Access.Application
     Dim strCN As String
     strCN = "病历号 = [forms].[A11].[病历号]"
If AccessObject("B.mdb").IsLoaded = True Then
    GoTo opdjgx
Else
     objappAccess.OpenCurrentDatabase "F:\Case\B.mdb"
    GoTo opdjgx
End If
opdjgx:
    objappAccess.DoCmd.OpenForm "B11", , , strCN

1.以上代码表现为打开了B库的B11窗体,但数据不认strCN,我理解是两个库strCN并不通用,不知是否理解正确,如何解决?
2.如何判定B库已打开,不需再次打开?

请高手高手高高手指导一下
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-9-17 20:01:29 | 只看该作者
是否可以考虑把另一个数据库中的表或窗体链接到你的A数据库中。你试试看如果可行的话,接下来的事就很简单了,控件向导就能帮你完成你的要求了。
3#
发表于 2011-9-17 20:11:08 | 只看该作者
DoCmd.OpenForm "B11" , , strCN, , , acDialog
4#
发表于 2011-9-18 15:03:54 | 只看该作者
strCN = "病历号 =" &  [forms].[A11].[病历号]
5#
 楼主| 发表于 2011-9-18 18:12:27 | 只看该作者
试过各位大佬的建议,都不能解决,我想大概是因为同时打开了两个数据库,strCN不被另一个库认
6#
发表于 2011-9-18 20:33:07 | 只看该作者
还有一个方法可以尝试下:就是利用docmd.openform方法最后一个参数OpenArgs,可以传递信息到被打开的窗体,你在B库B11窗体的open事件中加入相应代码处理这个传进来的参数me.openargs
7#
发表于 2011-9-18 20:51:42 | 只看该作者
我刚才根据楼主提供的代码做了一个测试,如果把代码
strCN = "病历号 = [forms].[A11].[病历号]"
修改成
strCN = "病历号 =" & [forms].[A11].[病历号]
是可以成功打开B11窗体并定位记录的。
楼主原来的那句是在B库B11窗体中应用筛选,需要通过 [forms].[A11].[病历号]这个引用获取A库中的信息,但这是无法实现的。如果修改为我给的那句,在传递筛选条件时,就已经将 [forms].[A11].[病历号]的实际值传递到B库中,B11窗体获得的是形如“病历号 = 119”这样的筛选条件,筛选就可以发挥作用了。

顺便请教下:AccessObject("B.mdb").IsLoaded 这句我在运行时报错,这是自定义对象吗?
8#
 楼主| 发表于 2011-9-19 16:03:57 | 只看该作者
反复试过了,好像不行啊,想做个简单的实例,但很失败,极郁闷。
AccessObject("B.mdb").IsLoaded 是个错误的句子,也是我想咨询大佬们的,原意是想判断B库是否被打开,避免反复重复打开。
现受 roych 老师启发,在acDialog之后运行关闭库命令,虽不尽如人意,但也算解决了这个问题。
9#
 楼主| 发表于 2011-9-19 16:04:14 | 只看该作者
反复试过了,好像不行啊,想做个简单的实例,但很失败,极郁闷。
AccessObject("B.mdb").IsLoaded 是个错误的句子,也是我想咨询大佬们的,原意是想判断B库是否被打开,避免反复重复打开。
现受 roych 老师启发,在acDialog之后运行关闭库命令,虽不尽如人意,但也算解决了这个问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-15 09:08 , Processed in 0.108528 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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