#600 | ADPのデータリンクプロパティダイアログを表示するには? | VBA | |
Accessプロジェクト(.adp)では、必ず初めにリンク先となるSQL Server上のデータベースを指定する必要があります。通常のマニュアル操作では、[ファイル]タブや[Office]ボタンなどから[サーバー]-[接続]メニューを選択して、「データリンクプロパティ」ダイアログを表示させ、そこで指定を行います。 一方、このダイアログは、VBAのプログラムにおいて「DoCmd」の「RunCommand」メソッドの引数に「acCmdConnection」を指定することで、任意のタイミングで意図的かつ自動的に表示させることができます。 次のプログラム例では、起動時に初期表示されるスタートアップフォームの「Load/読み込み時」イベントプロシージャを利用して、ダミー的に特定のテーブルにアクセスし、それがエラーとなった場合には”SQL Serverに接続できていない”と判断し、「データリンクプロパティ」ダイアログを表示させています。これによって再接続を促すことができます。 Private Sub Form_Load() Dim varDummy As Variant On Error Resume Next Do varDummy = DFirst("ID", "stblOptions") If Err.Number = 0 Then 'エラーが発生していなければSQL Server接続OK!、ループを抜ける Exit Do Else 'エラーが発生していたらデータリンクプロパティダイアログを表示 DoCmd.RunCommand acCmdConnection End If '再チェックするためエラーをクリアして次のループへ Err.Clear Loop End Sub ※このプログラム例では、表示された「データリンクプロパティ」ダイアログでSQL Serverへの接続が確立されない場合、無限に何度もダイアログが表示されてしまいます。本格的に適用する際には、MsgBox関数で「接続せずに終了しますか?・・・・[はい][いいえ]」などの確認メッセージを表示するなどして、データベースやAccess自体を終了させてループを抜ける処理が必要でしょう。 ※また実際には、そもそも所定のSQL Serverに接続できない場合、データベースファイルを開こうとした時点で警告メッセージが表示されます。 |
|||
|
Copyright © T'sWare All rights reserved |