Office中国论坛/Access中国论坛

标题: ADP 连接管理组件范例 [打印本页]

作者: zhuyiwen    时间: 2011-2-7 22:45
标题: ADP 连接管理组件范例
请下载以下附件:

[attach]44772[/attach]
[attach]44771[/attach]

两个是一样的,不要重复下载


该附件包含二个文件:YHAccess.dll, TestADP.adp

YHAccess.dll 为Access开发组件,其中包含:
yhADPConnection (ADP连接管理)
yhFormResize (ACCESS窗体缩放布局管理)
yhAccessHelper (Access辅助函数)

此贴只讲解如何使用 yhADPConnection。

一、首先新建一个ADP。
二、在VBE下引用YHAccess.dll。
三、在立即窗口运行如下语句:

  1. CurrentProject.CloseConnection
  2. CurrentProject.OpenConnection "Provider=;"
复制代码

此两句的目的是清空当前ADP的数据库连接信息。

四、新建一个名为StartForm的窗体,设置如下属性:
滚动条:两者均无
记录选定器:否
导航按钮:否
分隔线:否
自动居中:是
自动调整:是
弹出方式:否
模式:否

在该窗体的事件选项卡上选择“加载”,并选择“代码生成器”,同时进入VBE,贴入如下代码:

  1. Option Compare Database
  2. Option Explicit
  3. ' 连接管理对象
  4. Public objADP As New YHAccess.yhADPConnection

  5. Private Function InitADP()
  6. '=============================================================
  7. ' Form_StartForm.InitADP
  8. '-------------------------------------------------------------
  9. ' 目的 : 初始化 ADP 连接
  10. ' 作者 : 朱亦文, 2011年2月7日
  11. ' 说明 :
  12. '=============================================================
  13. With objADP
  14.     Set .Application = Application
  15.     .Server = "(Local)" ' 数据库服务器
  16.     .Trusted = False ' SQL Server 验证方式: True - 信任验证(Windows)
  17.     ' False - SQL 验证
  18.     ' 当为 False 时, 必须输入 登录ID 和 登录密码
  19.     .UserID = "jxc" ' 登录ID
  20.     .Password = "jXc_2008" ' 登录密码
  21.     .Database = "jxc" ' 连接的数据库

  22.     ' 也可以直接输入连接字符串, 例如:
  23.     '.ConnectionString = "Provider=SQLOLEDB.1;Password=jXc_2008;Persist Security Info=True;User ID=jxc;Initial Catalog=jxc;Data Source=(Local)"

  24.     ' 如果测试成功则当前ADP连接数据库
  25.     If .TestConnection Then .ADPConnect
  26. End With
  27. End Function

  28. Private Sub Form_Load()
  29. '=============================================================
  30. ' Form_StartForm.Form_Load
  31. '-------------------------------------------------------------
  32. ' 目的 : 窗体加载
  33. ' 作者 : 朱亦文, 2011年2月7日
  34. ' 说明 : 加载时初始化 ADP 窗体
  35. '=============================================================
  36. Me.Visible = False
  37. InitADP
  38. End Sub

  39. Private Sub Form_Unload(Cancel As Integer)
  40. '=============================================================
  41. ' Form_StartForm.Form_Unload
  42. '-------------------------------------------------------------
  43. ' 目的 : 窗体卸载
  44. ' 作者 : 朱亦文, 2011年2月7日
  45. ' 说明 : 释放ADP连接管理对象,同时清理ADP连接信息。
  46. '=============================================================
  47. ' 当关闭当前窗体时, 释放对象, 同时清空 ADP 的连接信息.
  48. Set objADP = Nothing
  49. End Sub
复制代码

然后,关闭窗体,保存。(注意:你必须设置你自己的连接信息

五、创建自启动宏Autoexec
在数据库窗口中,选择宏,新建宏:
操作:OpenForm
窗体名称:StartForm
窗口方式:隐藏
关闭宏设计器,并将宏命名为“Autoexec”

作者: 82077802    时间: 2011-2-8 06:48
好东东,学习!

作者: t小宝    时间: 2011-2-8 12:34
先下载学习
作者: ey1001    时间: 2011-2-8 15:52
先下载学习
作者: sxb2007    时间: 2011-2-8 16:16
先下载学习

作者: fengtao666    时间: 2011-2-8 17:26
朱总的东西都是好东西啊.
作者: wangpeng692    时间: 2011-2-8 17:40
踩点,以后来行窃
作者: qxqjdy    时间: 2011-2-8 17:58
看看
作者: ycyhjj2865    时间: 2011-2-8 20:48
小朱哥儿出品的东东,就是要顶!!
作者: ui    时间: 2011-2-9 08:25
再来下载
作者: xuwenning    时间: 2011-2-9 08:31
收藏学习
谢谢分享
作者: yanwei82123300    时间: 2011-2-9 09:47
好东东,学习!

作者: c101    时间: 2011-2-9 21:21
谢谢分享

作者: XMX64311    时间: 2011-2-10 16:18
谢谢分享!
作者: yanzqun    时间: 2011-2-10 17:01
都是好东东
作者: chenyingfengsx    时间: 2011-2-10 19:57
学习!
作者: yori2007    时间: 2011-2-11 19:08

作者: SBSSND    时间: 2011-2-11 20:58
www.office-cn.net
作者: sun.gd    时间: 2011-2-12 22:47
好东西,收藏收藏
作者: 宿命的风    时间: 2011-2-16 17:11
来取经了~
作者: fengxueysh    时间: 2011-2-19 20:54
下载学习
作者: yaoguiq1979    时间: 2011-2-24 16:52
dddddddddddddddddddddddddddd
作者: xb158053    时间: 2011-2-24 17:21
好的就发嘛
作者: yodong    时间: 2011-2-27 18:41
朱总的东西都是好东西啊.
作者: 轻风    时间: 2011-7-16 11:44
这个,还得慢慢消化一下。
作者: 轻风    时间: 2011-7-16 11:59
这个是为什么
[attach]46096[/attach]

作者: zhuyiwen    时间: 2011-7-16 14:43
轻风 发表于 2011-7-16 11:59
这个是为什么

请说明环境、条件及使用方法
作者: 轻风    时间: 2011-7-16 15:09
WINDOWS XP + ACCESS 2010 + SQL 2000
下载了示例,按文中所述操作,出现这个错误,调试时:
[attach]46097[/attach]

引用情况:
[attach]46098[/attach]

作者: zhuyiwen    时间: 2011-7-16 16:07
回复 轻风 的帖子

你把这一句
  1. Public objADP As New YHAccess.yhADPConnection
复制代码
改成
  1. Public objADP As  YHAccess.yhADPConnection
复制代码


修改 InitADP
  1. Private Function InitADP()
  2.     If objADP Is Nothing Then
  3.         Set objADP = New YHAccess.yhADPConnection
  4.     End If

  5.     ... 接原来的代码

  6. End Function
复制代码

这样试试

作者: 轻风    时间: 2011-7-16 16:12
zhuyiwen 发表于 2011-7-16 16:07
回复 轻风 的帖子

你把这一句改成

朱老师,还是同样错误,错误停在:Set objADP = New YHAccess.yhADPConnection
作者: zhuyiwen    时间: 2011-7-16 16:16
这只能说明在Access2010下无法使用这个组件
你的Access2010是32位还是64位?
作者: zhuyiwen    时间: 2011-7-16 16:20
64 Access 2010 未能通过,XP 32 Access 2010 可以通过

作者: 轻风    时间: 2011-7-16 16:49
谢谢朱老师,远程解决。
作者: 创福科技-王少峰    时间: 2012-3-13 23:44
朱老师以下代码,如果使用者死机,断电后,就没有调用下面的代码,是不是下次打开还要输入密码呀?sqlserver 认证方式。

' 目的 : 窗体卸载

' 作者 : 朱亦文, 2011年2月7日

' 说明 : 释放ADP连接管理对象,同时清理ADP连接信息。


作者: zhuyiwen    时间: 2012-3-14 18:52
创福科技-王少峰 发表于 2012-3-13 23:44
朱老师以下代码,如果使用者死机,断电后,就没有调用下面的代码,是不是下次打开还要输入密码呀?sqlserve ...

点“取消”,即可
作者: nncchh    时间: 2014-6-3 17:03
謝謝分享!
作者: winshao    时间: 2015-5-29 17:28
学习
作者: jlf001    时间: 2016-4-10 16:14
学习
作者: jlf001    时间: 2016-4-17 22:11
学习




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3