我想帮助创建一个带有MS Access前端的表单来为访问后端选择数据库/数据库服务器。
有点历史;
我创建了一个MSAccess 2007 acccdp数据库,它被设计为在本地运行的单个用户。 (对于很少或没有资金的大学研究项目)。
最终需要扩展数据库以便同时在同一办公室中由几个人使用,所以我做了什么;
在桌面上安装SQLExpress 2008r2。 使用过的数据库工具>移动数据> Sql Sever将表迁移到新的SQL服务器。
现在我想为开发/培训等创建第二个测试数据库...此外,我需要调整其他数据库服务器的属性(在家中)。
所以我想我需要一个表单来自动执行(而不是交换机),这将允许您选择数据库服务器和数据库来连接链接表,然后如果成功连接以打开交换机。
我可以创建表单,但我需要帮助vba来调整数据库连接属性。
我只是想帮助这个项目而且不是任何程序员。
提前致谢
罗杰
答案 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