设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

请问在ADP中如何用代码实现与SQL SERVER数据库的“连接”更新功能?

[复制链接]
跳转到指定楼层
1#
发表于 2005-1-1 00:43:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问在ADP中如何用代码实现与SQL SERVER数据库的“连接”更新功能?

在开发时与数据库的连接并不是问题,但开发者应该考虑到当应用程序发布后,用户的服务器设置不一定与开发者相同,所以,开发者应该设计一个灵活的连接设置窗体,让用户设置连接的数据库服务器名称、密码等参数,从而实现一种动态连接。

即通过代码实现在ACCESS项目启动时检测数据库连接是否正确,如果不正确则弹出设置窗体进行设置并将设置保存下来。也就是实现ADP中“文件”菜单上的“连接”功能。

其实这个问题同 jamesma99 的问题一样,希望能有高人赐教!谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-1-1 01:17:00 | 只看该作者
这是我的一个程序中使用的。Public Function gfProgInit()

    On Error GoTo Err_proc    Application.Echo False, "正在初始化程序运行环境..."

    If Not gcflgDebug Then

        DoCmd.SetWarnings False

        gflgWarnings = False

        Call gfDisableToolbars

    Else

        DoCmd.SetWarnings True

        gflgWarnings = True

    End If    gflgRuning = False      '2004/09/07

    Do While Forms.Count > 0    '关闭所有已经打开的窗体

        DoCmd.Close acForm, Forms(0).Name

    Loop

    Do While Reports.Count > 0  '关闭所有已经打开的报表

        DoCmd.Close acForm, Reports(0).Name

    Loop    If CurrentProject.ProjectType = acMDB Then      'mdb

        Call DLookup("EmpId", "tblEmployee")        '测试链接表, 由错误处理程序刷新链接表

    Else

        If Not CurrentProject.IsConnected Then      'adp, 若未连接,则打开连接对话框

            DoCmd.RunCommand acCmdConnection

        End If

        If Not CurrentProject.IsConnected Then      ' 若仍未连接,则退出

            Call modProgramInit.gfProgQuit

        End If    End If    '公共变量初始化

    gflgRuning = True    Application.Echo True    If gcflgMustLogin Then        '开认证登陆窗

        DoCmd.OpenForm "frmLogin"

        DoEvents

    Else

        Call gfOpenMainForm

    End If

    Exit Function

Err_proc:

    If Err.number = 3044 Or Err.number = 3024 Then

        If CurrentProject.ProjectType = acMDB Then

            Call fRefreshLinks

        End If

    Else

        MsgBox "未知错误  " & Err.number & vbNewLine & Err.description, vbExclamation, gcstrMsgTitle

    End If

    Call modProgramInit.gfProgQuit

End Function
3#
 楼主| 发表于 2005-1-5 22:40:00 | 只看该作者
谢谢指点,有点收获。但您的示例不完整。modProgramInit.gfProgQuit是您自定义的吗?gcflgDebug从何而来?gfDisableToolbars何在?功能?

4#
发表于 2005-1-6 03:09:00 | 只看该作者
都是我自己定义的常量或者函数,其功能可以根据其名称判断出来,例如:modProgramInit.gfProgQuit    公共函数,退出Access程序

gfDisableToolbars   公共函数,禁止工具兰和菜单栏

fRefreshLinks  函数,刷新mdb链接表

gcflgDebug    公共常量,标志正在调试

gcflgMustLogin  公共常量,标志必须登陆
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-11 04:03 , Processed in 0.083532 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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