0

アクセス バックエンド用のデータベース/データベース サーバーを選択するために、MS Access フロント エンド内でフォームを作成する方法を教えてください。

最初に少し歴史を。

MSAccess 2007 acccdp データベースを作成しました。これは、ローカルで実行する単一ユーザーとして設計されました。(このための資金がほとんどまたはまったくない大学の研究プロジェクトの場合)。

最終的に、同じオフィスで複数の人が一度に使用できるようにデータベースを拡張する必要がありました。

デスクトップに SQLExpress 2008r2 をインストールします。[データベース ツール] > [データの移動] > [SQL サーバー] を使用して、テーブルを新しい SQL サーバーに移行しました。

ここで、開発/トレーニングなどのために 2 番目のテスト データベースを作成したいと考えています。また、別のデータベース サーバー (自宅) のプロパティを調整する必要があります。

したがって、データベースサーバーとデータベースを選択してリンクテーブルを結合できるようにする(スイッチボードではなく)自動実行するフォームが必要であると考え、接続に成功した場合はスイッチボードを開きます。

フォームは作成できますが、データベース接続のプロパティを調整するには vba のサポートが必要です。

私はこのプロジェクトを支援しようとしているだけで、決してプログラマーではありません。

前もって感謝します

ロジャー

4

1 に答える 1

0

2 つの接続のどちらかを選択する場合は、既存の接続が機能しているかどうかを確認し、機能していない場合は 2 つ目の接続に切り替えることができます。ただし、ボタンが最善の策である場合もあります。このスニペットは私には機能しますが、接続タイムアウトをわずか 1 秒に設定するため、もう少し待っていればサーバーを利用できる可能性があります。クリックを開始します。

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
于 2012-08-13T09:11:31.967 に答える