MS Access 2007在表单中更改连接属性

时间:2012-08-11 13:37:11

标签: database ms-access ms-access-2007

我想帮助创建一个带有MS Access前端的表单来为访问后端选择数据库/数据库服务器。

有点历史;

我创建了一个MSAccess 2007 acccdp数据库,它被设计为在本地运行的单个用户。 (对于很少或没有资金的大学研究项目)。

最终需要扩展数据库以便同时在同一办公室中由几个人使用,所以我做了什么;

在桌面上安装SQLExpress 2008r2。 使用过的数据库工具>移动数据> Sql Sever将表迁移到新的SQL服务器。

现在我想为开发/培训等创建第二个测试数据库...此外,我需要调整其他数据库服务器的属性(在家中)。

所以我想我需要一个表单来自动执行(而不是交换机),这将允许您选择数据库服务器和数据库来连接链接表,然后如果成功连接以打开交换机。

我可以创建表单,但我需要帮助vba来调整数据库连接属性。

我只是想帮助这个项目而且不是任何程序员。

提前致谢

罗杰

1 个答案:

答案 0 :(得分:0)

如果您选择在两个连接之间,则可以检查现有连接是否正常工作,如果没有,请切换到第二个连接。但是,按钮可能仍然是最好的选择。这段代码对我有用,但是它将连接超时设置为一秒,所以如果你只等了一会儿就可以使用服务器,即使这个时间过了,也有足够的延迟让一个不耐烦的人来开始点击。

Function IsSQLServer() As String
''Reference Microsoft ActiveX Data Objects x.x Library
Dim cn As New adodb.Connection

    ''http://msdn.microsoft.com/en-us/library/windows/desktop/ms676718(v=vs.85).aspx
    ''Provider=sqloledb
    cn.ConnectionString = ServerCon & "Connect Timeout=1;"

    On Error Resume Next
    cn.Open

    If Err.Number <> 0 Then
        IsSQLServer = "No;" & Err.Description
        Err.Clear
    Else
        If cn.State = adStateOpen Then
            IsSQLServer = "Yes"
        Else
            IsSQLServer = "Maybe"
        End If
        cn.Close
    End If

    Set cn = Nothing

End Function