Date: Tue, 27 Sep 2005 13:09:35 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、こんにちは
-----Original Message-----
From: Michio Taniguchi [mailto:who@example.co.jp]
Sent: Wednesday, September 21, 2005 3:13 PM
To: ML MSDE Fun Club
Subject: [ml-msde-beg:01657] パスワード
「ファイル」−「接続」プロパティは、最後の成功した接続情報を
覚えているようです
ですから、ADPファイルを開いたときは、最後の接続情報を
使って、そのデータベースサーバーに接続をします。
またこの接続情報では、ダミーの値を入力することは許されません。
接続が正しくできる情報の入力が要求されます。
ということは、他からADPファイルをもらって来て、名前の違う
データベースサーバーで使用するときは、最初にADPを
開こうとすると、接続エラーが発生するので、そこで、接続
情報を修正しなければいけません。
このような問題があるので、
Microsoft SQL Server 2000 Desktop Engine を含む Access 2002
プロジェクトの展開方法
http://support.microsoft.com/default.aspx?scid=kb;ja;299297
が、公開されています。
翻訳記事ですが、この中に掲載されている次の関数が、面白い結果を
出します。
Function MakeADPConnectionless()
'------------------------------------------------------------
'This code removes the connection properties from the
'Access Project for troubleshooting purposes.
'The ADP will open in a disconnected state until new connection
'properties are supplied.
'------------------------------------------------------------
Application.CurrentProject.OpenConnection ""
End Function
OpenConnectionメソッドは、通常新しい接続文字列を与えて、接続を
再定義するときに使いますが、文字列を空にして実行すると、今の
Accessプロジェクトの接続情報を未定義状態(「ファイル」−「接続」で
表示されるダイアログの各項目が空白)にします。
これはマニュアルには書かれていない隠し機能のようです。
ですから、この関数を実行して、ADPファイルを保存すると、接続状態は
空になります。
>ファイル>接続のデータリンクプロパティにパスワードを入れて
>パスワードを保存するにチェックをしてしまうとシフトキーを
>押したままADPを起動してしまうとデータが丸見えになってしまいます。
上記関数を実行してからファイルを保存すれば、大丈夫でしょう
ただ上記URLドキュメントは、Access2002を対象とした記事で、私が
確認したのはAccess2003なので、Access2000で動くかどうか不明です。
>パスワードをVBAで指定してDBに接続することは可能なのでしょうか?
AUTOEXECマクロを起動時に実行して、そのマクロで接続情報を
入力させるフォームを表示します。
(ADPファイルの接続情報は、空の状態にして下さい)
入力された接続情報を使って、
Application.CurrentProject.OpenConnection "接続文字列"
を実行すれば、新しい接続情報に基づく、ADPが起動されます。
Microsoft Access プロジェクトの接続をプログラムで変更する方法
http://support.microsoft.com/default.aspx?scid=kb;ja;306881
ADPの接続情報が空の状態で、ADPを開くと、『接続が未定義』の
ADPがすぐに立ち上がります。
その後、プログラムで組み立てた接続情報を使って、ADPの
接続を定義します。
306881番の記事では、「今有効な接続」を閉じて、別の接続へ
切り替える方法が解説されています。
ADPを立ち上げたときに、接続が「有効」であることを前提に
しています。
ところがプログラムで接続先を定義するときは、ADPを立ち
上げたときは、接続は、「未定義」でなければいけません。
それを実現するのが、
Application.CurrentProject.OpenConnection ""
を実行してから、ADPファイルを保存する手順になります。
ただAccess2000で使える方法かどうかは、わかりません。
確認して下さい
------------------------------------
Epata-IT/日本技術ソフト開発
堀川 明 (Akira Horikawa)
09月27日(火曜日) 13時06分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|