Access プロジェクトの接続をプログラムで変更する方法

高度な機能: 高度なコーディング、相互運用性、マルチユーザー スキルが必要です。

この記事は、Microsoft Access プロジェクト (.adp) にのみ適用されます。

概要

この記事では、プログラムによって Microsoft Access プロジェクト (ADP) ファイルの接続を変更する方法について説明します。

詳細

ADP の接続を変更する最も簡単な方法は、手動で行うことです。 Access 2002 または Access 2003: の [ファイル] メニューの [接続] をクリックすると、現在のプロジェクトの接続プロパティにアクセスできます。 表示されるダイアログ ボックスには、サーバー名とセキュリティ モードなどのプロパティを変更するオプションが表示されます。

メモAccess 2007 で、次の手順に従って、[データ リンクのプロパティ] ダイアログ ボックスの [接続] タブを開きます。

  1. [Microsoft Office] ボタンをクリックし、[アクセス オプション] をクリックします。
  2. [ カスタマイズ ] タブの [ コマンド の選択] ボックスの一覧で [すべての コマンド ] をクリックします。
  3. 左側のウィンドウで [ 接続 ] をクリックし、[ 追加] をクリックし、[OK] をクリック します
  4. クイック アクセス ツール バーの [接続] をクリックします。

ただし、場合によっては、プロセスを自動化することが必要になる場合があります。 ユーザーがアプリケーションの特定のセクションに対して別の SQL サーバーに接続することを望む場合や、起動時に接続プロセスを制御して、エラーを探してそれに応じて処理できるようにすることもできます。たとえば、別のサーバーにルーティングします。

次の手順では、Access オブジェクト モデルを使用して ADP の既存の接続を変更する方法を示す関数を使用します。 関数は成功した場合は True を、成功しなかった場合は False を返します。

  1. Access を開始し、サンプルの Access プロジェクト NorthwindCS.adp を開きます。

  2. Access 2002 または Access 2003 で、[データベース] ウィンドウの [オブジェクト] の下にある [モジュール] をクリックし、[新規] をクリックして新しいモジュールを開きます。

    Access 2007 で、[作成] タブの [その他] グループの [マクロ] の下にある下矢印をクリックし、[モジュール] をクリックします。

  3. 次のコードを新しいモジュールに追加し、モジュールを保存します。

Function ChangeADPConnection(strServerName As String, strDBName As _
   String, Optional strUN As String, Optional strPW As String) As Boolean
Dim strConnect As String
On Error GoTo EH:
Application.CurrentProject.CloseConnection
'The Provider, Data Source, and Initial Catalog arguments are required.
strConnect = "Provider=SQLOLEDB.1" & _
";Data Source=" & strServerName & _
";Initial Catalog=" & strDBName
If strUN <> "" Then
    strConnect = strConnect & ";user id=" & strUN
    If strPW <> "" Then
        strConnect = strConnect & ";password=" & strPW
    End If
Else  'Try to use integrated security if no username is supplied.
    strConnect = strConnect & ";integrated security=SSPI"
End If
Application.CurrentProject.OpenConnection strConnect
ChangeADPConnection = True
Exit Function
EH:
MsgBox Err.Number & ": " & Err.Description, vbCritical, "Connection Error"
ChangeADPConnection = False
End Function

  1. Access 2002 または Access 2003 で、[データベース] ウィンドウの [オブジェクト] の下にある [フォーム] をクリックし、[新規] をクリックし、[OK] をクリックしてデザイン ビューで新しいフォームを開きます。

    Access 2007 で、[作成] タブの [フォーム] をクリックします。

  2. フォームにコマンド ボタンを追加します。

  3. コマンド ボタンの OnClick プロパティを次のイベント プロシージャに設定します。

Dim bCheckConnection As Boolean
   'You must specify the correct parameters for your following server.
   'username and password parameters are optional.
bCheckConnection=ChangeADPConnection("ServerName","DBName","UserName","PW")
MsgBox bCheckConnection
  1. Visual Basic 環境を閉じてフォームに戻ります。

  2. フォームを保存し、フォームをフォーム ビューに切り替えます。

  3. コマンド ボタンをクリックして、基になるコードを実行します。

    手順 6 で接続の正しいパラメーターを指定した場合は、True というメッセージ ボックスが表示されます。

    または

    正しいパラメーターを指定しなかった場合は、エラー メッセージが表示されます。 エラー メッセージに 対して [OK] を クリックすると、False と表示されるメッセージ ボックスが表示されます。