设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

ADP 连接管理组件范例

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2011-2-7 22:45:32 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
请下载以下附件:




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


该附件包含二个文件: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”

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享分享 分享淘帖2 订阅订阅

点击这里给我发消息

2#
 楼主| 发表于 2011-7-16 14:43:11 | 显示全部楼层
轻风 发表于 2011-7-16 11:59
这个是为什么

请说明环境、条件及使用方法

点击这里给我发消息

3#
 楼主| 发表于 2011-7-16 16:07:17 | 显示全部楼层
回复 轻风 的帖子

你把这一句
  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
复制代码

这样试试

点击这里给我发消息

4#
 楼主| 发表于 2011-7-16 16:16:39 | 显示全部楼层
这只能说明在Access2010下无法使用这个组件
你的Access2010是32位还是64位?

点击这里给我发消息

5#
 楼主| 发表于 2011-7-16 16:20:02 | 显示全部楼层
64 Access 2010 未能通过,XP 32 Access 2010 可以通过

点击这里给我发消息

6#
 楼主| 发表于 2012-3-14 18:52:38 | 显示全部楼层
创福科技-王少峰 发表于 2012-3-13 23:44
朱老师以下代码,如果使用者死机,断电后,就没有调用下面的代码,是不是下次打开还要输入密码呀?sqlserve ...

点“取消”,即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 20:13 , Processed in 0.102089 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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