设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[与其它组件] 链接有密码的后端数据库问题

[复制链接]
跳转到指定楼层
1#
发表于 2003-10-7 18:34:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

设有两个数据库:  ABC前端.mdb 、 ABC后端.mdb(此后端已有数据库密码:“test”)
ABC前端.mdb  所有表链接自  ABC后端.mdb

请指教,有什么简便方法,使得  ABC前端.mdb 打开时不需要回答 ABC后端.mdb 密码?

竹笛师傅曾提供过一个链接例子,但主要内容是[U]链接一个有密码的后端[/U]的[U]其中一个表[/U],语句也太深了!   参考如下:

作者: 朱亦文

function lj()
dim catdb as adox.catalog
dim tbllink as adox.table

set catdb = new adox.catalog
catdb.activeconnection = currentproject.connection

set tbllink = new adox.table ' 建立一个新的表对象

with tbllink
.name = "订单" ' 链接表名称
set .parentcatalog = catdb

.properties("jet oledb:create link") = true
.properties("jet oledb:link datasource") = _
"c:\program files\zhanyexing\123.mdb"
.properties("jet oledb:link provider string") = _
"ms access;pwd=123;" ' 提供者及密码
.properties("jet oledb:remote table name") = "订单" ' 原数据库中的表
end with

catdb.tables.append tbllink ' 添加到库中
set tbllink = nothing
end function

请大家帮忙, 我只想有什么简便方法,可以在  ABC前端.mdb 内置入后端密码"test",使得每次运行前端时不需要回答 ABC后端.mdb 密码?   谢谢!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-10-8 00:57:00 | 只看该作者

[QUOTE]
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'                   刷新表链接                                 '
'                                                              '
'    这个模块包含用于刷新到后台数据库表的链接的函数,如果那    '
'    些表可用的话。改写自罗斯文商贸数据库!这可是宝库!        '
'                                                              '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Option Explicit           ' 要求变量在使用以前明确声明
Option Compare Database   ' 字符串比较使用数据库次序
'=======================================================================
'设定部分:
Private Const CheckTableName = "tb员工"
'"培训项目"表是我的实例数据库中的表,你应该改成你自己后台数据库的链接表名。
Private Const TablePassword = "12345"
'"12345"是我的后台数据库打开的密码,你应该改成你自己后台数据库的打开密码。
Private Const conAppTitle = "menu"
Private Const conBackAppTitle = "data.mdb"
'"前台数据库"是本数据库的名称,可以不用加“.mdb”
'"后台数据库.mdb"是链接的后台数据库的名称,必须有".mdb"

'
'以下不用改
'=======================================================================

Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
    "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean
Declare Function GetSaveFileName Lib "comdlg32.dll" Alias _
    "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Boolean

Type MSA_OPENFILENAME
    ' 用于打开文件对话框过滤器的过滤字符串。
    ' 使用 MSA_CreateFilterString() 来创建它。
    ' 默认(Default) = 所有文件, *.*
    strFilter As String
    ' 用于显示的初始过滤器。
    ' 默认(Default) = 1
    lngFilterIndex As Long
    ' 对话框所作用的初始目录。
    ' 默认(Default) = 当前工作目录。
    strInitialDir As String
    ' 初始文件名。
    ' 默认(Default) = ""
    strInitialFile As String
    strDialogTitle As String
    ' 默认的文件扩展名,如果用户没有指定一个的话,将使用它。
    ' 默认(Default) = 系统值 (打开文件, 保存文件)。
    strDefaultExtension As String
    ' 所使用的标志 (参看“常量”(Const) 列表)
    ' 默认(Default) = 无标志。
    lngFlags As Long
    ' 所选取文件的完整路径。在打开文件(OpenFile)时,如果用户点取了
    ' 一个不存在的文件,将只返回 "File Name"(文件名)框中的文本。
    strFullPathReturned As String
    ' 所选取文件的文件名。
    strFileNameReturned As String
    ' 文件名(strFileNameReturned)开始位置在完整路径中的偏移。
    intFileOffset As Integer
    '文件扩展名开始位置在完整路径(strFullPathReturned)中的偏移。
    intFileExtension As Integer
End Type

Const ALLFILES = "所有文件"

Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As Long
    nMaxCustrFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    Flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustrData As Long
    lpfnHook As Long
    lpTemplateName As Long
End Type

Const OFN_ALLOWMULTISELECT = &H200
Const OFN_CREATEPROMPT = &H2000
Const OFN_EXPLORER = &H80000
Const OFN_FILEMUSTEXIST = &H1000
Const OFN_HIDEREADONLY = &H4
Const OFN_NOCHANGEDIR = &H8
Const OFN_NODEREFERENCELINKS = &H100000
Const OFN_NONETWORKBUTTON = &H20000
Const OFN_NOREADONLYRETURN = &H8000
Const OFN_NOVALIDATE = &H100
Const OFN_OVERWRITEPROMPT = &H2
Const OFN_PATHMUSTEXIST = &H800
Const OFN_READONLY = &H1
Const OFN_SHOWHELP = &H10

Function FindFile(strSearchPath, strTitle, strFilterFilename, strFilterExtname) As String
' 显示打开文件对话框让用户定位
' 特定的文件。返回文件的完整路径。
   
    Dim msaof As MSA_OPENFILENAME
   
    ' 给对话框设置选项。
    msaof.strDialogTitle = strTitle
    msaof.strInitialDir = strSearchPath
    msaof.strFilter = MSA_CreateFilterString(strFilterFilename, strFilterExtname)
   
    ' 调用打开文件对话框例程。
    MSA_GetOpenFileName
3#
 楼主| 发表于 2003-10-8 01:33:00 | 只看该作者
非常感谢 keecome !! 可能是我表达得不清楚吧,让我再解释一下:

1、设 后端数据库.mdb里面有多个表  "员工资料表"、 "物品资料表"、  "进出仓业务表"等,而这个数据库也设了密码 123 ;
2、前端数据库.mdb 里面做了许多查询和窗体, 没有做表,都是链接 后端数据库.mdb里面所有的表;
3、每次运行 前端数据库.mdb,ACCESS就会弹出要求录入 后端数据库.mdb密码,我觉得太麻烦了!
4、其实设定 后端数据库密码,是为了防范局域网上其他人员,阻止他人随意打开后端数据库查询表里的数据,而前端数据库里面已做了登陆权限窗体,所以不想在运行时要求操作员回答 后端数据库密码;
5、所以,怎样在 前端数据库 内置入 后端数据库 的密码呢? 请各位大哥指教详细步骤!!
5、
4#
发表于 2003-10-8 01:51:00 | 只看该作者
'设定部分:
Private Const CheckTableName = "tb员工"
'"培训项目"表是我的实例数据库中的表,你应该改成你自己后台数据库的链接表名。
Private Const TablePassword = "12345"
'"12345"是我的后台数据库打开的密码,你应该改成你自己后台数据库的打开密码。
Private Const conAppTitle = "menu"
Private Const conBackAppTitle = "data.mdb"
'"前台数据库"是本数据库的名称,可以不用加“.mdb”
'"后台数据库.mdb"是链接的后台数据库的名称,必须有".mdb"


这个其实完全符合你的要求呀,,
其实这个模块是一个更新后台数据库地址的,
“Private Const TablePassword = "12345" 这个12345就是后台数据库的密码,
“Private Const conBackAppTitle = "data.mdb" 这个data.mdb是后台数据库文件名,

其实这个很好用的,我现在就是用的这个来更新数据库的链接,如果你还没明白呀,我把文件发给你!
5#
发表于 2003-10-30 22:28:00 | 只看该作者
h
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-1 13:30 , Processed in 0.094679 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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