通过VBA动态链接另一带有密码的access数据库的表-a63521557
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


通过VBA动态链接另一带有密码的access数据库的表

发表时间:2008/12/20 13:30:13 评论(0) 浏览(13374)  评论 | 加入收藏 | 复制
   
摘 要:通过VBA编程动态链接到商品软件中带有密码的ACCESS数据库的表,对其数据进行再加工处理乃至二次开发利用。
正 文:

  现有好些商品软件和网站的后台数据库采用的仍是ACCESS数据库文件,并都加了密码,且其密码中还含有键盘难以输入的控制符。在既要保持原有软件所提供的功能可正常运行使用,又要充分利用其录入到ACCESS数据库中的业务数据资源,拓展其功能用途的情况下,通过VBA编程动态链接到带有密码的ACCESS数据库的表,对其数据进行再加工处理乃至二次开发利用,不失为一良好的途径。在此将实现这一过程的关键程序源代码摘录如下:

Private Sub Command1_Click()
On Error GoTo Err_Command1_Click
   
    Dim I As Integer

    I = CurrentDb.TableDefs.Count - 1
    '删除现有的全部链接表。表类型属性CurrentDb.TableDefs(I).Properties(1)为False
    While I >= 0
        'Debug.Print I, CurrentDb.TableDefs(I).Name, CurrentDb.TableDefs(I).Properties(1)
        If Not CurrentDb.TableDefs(I).Properties(1) Then
            DoCmd.DeleteObject acTable, CurrentDb.TableDefs(I).Name
        End If
        I = I - 1
    Wend

    Me.txtPWD.SetFocus  '激活密码输入栏
    SendKeys "%EC", False  'Alt+编辑(E)+复制(C)_复制密码(含键盘无法输入的字符)
    SendKeys "%FGL", False  'Alt+文件(F)+获取外部数据(G)+链接表(L)
    SendKeys Me.txtPath, False '输入数据库带盘符或网络地址符路径的全名
    SendKeys "%K", False  'Alt+链接(K)
    SendKeys "^V", False  'Ctrl+V_粘贴输入数据库密码
    SendKeys "{ENTER}", False  '确定回车
    SendKeys "%A", False  'Alt+全选(A)_选择全部表
    SendKeys "%A", False  'Alt+全选(A)_再次选择全部表,避免网络反映延迟阻断
    SendKeys "{ENTER}", False  '确定回车

Exit_Command1_Click:
    Exit Sub

Err_Command1_Click:
    MsgBox Err.Description
    Resume Exit_Command1_Click

End Sub

  不难看出,此程序主要就是运用了简单的SendKeys指令,模拟人工操作步骤,而使看似复杂的问题得到了解决。

示例文件请参见:http://www.accessoft.com/bbs/showtopic.asp?ID=2982&BoardID=17


Access软件网交流QQ群(群号:198465573)
 
 相关文章
删除Access链接表与删除Access本地表的区别  【麥田  2013/3/9】
网络动态管理系统(链接网站)  【lmqlt  2013/3/15】
为 SQL Server 添加链接服务器  【一杯绿茶  2013/3/17】
创建ODBC链接表连SQL源码示例  【杜超-2号  2013/4/20】
【译文】自动刷新链接 Microsoft Access 表  【周芳  2013/5/7】
常见问答
技术分类
相关资源
文章搜索
关于作者

a63521557

文章分类

文章存档

友情链接