- ベストアンサー
CurDirについて
CurDirのヘルプを見ると、「指定したドライブの現在のパスを表す」と記載されていますが、 ようするに、 accessで言うのならば、 ツール→オプション→全般タブの 「既定のデータベースフォルダ」の値を取得すると言う意味でしょうか? Debug.Print CurDir() と Debug.Print CurrentProject.Path は 同じ意味だと思っていたのですが、違うのですよね?現在混乱中です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
DOSの「カレントディレクトリ」は、ドライブごとに保持されています。 ですので、ドライブ名を指定したとき、そのドライブのカレントディレクトリがいまどこになっているか、というのが返されます。 (ドライブ名を省略したときは、DBのあるドライブを指定したのと同じことになります。) CurrentProject.Path は、自分のデータベースが置いてある、パス名です。 パス名には、ドライブ名と、ディレクトリが含まれます。 ですので、両者は違う物になります。 ----以下余談---- MS-DOSの「カレントディレクトリ」の実験 ・「コマンド プロンプト」を起動します。 C:\Document and Settings\(ユーザー名)> ・C: ドライブのルートのTempフォルダに移動します。 C:\Document and Settings\(ユーザー名)>cd \temp C:\temp> ・D:ドライブのルートに、フォルダ「abc」を作成します。 C:\temp>mkdir d:\abc C:\temp> ・D:ドライブに移動します。 C:\temp>D: D:\> ・abcフォルダに移動します。 D:\>cd abc D:\abc> ・ここで、C:ドライブに戻ってみます。 D:\abc>C: C:\temp> ・また、D:ドライブに移動してみます。 C:\temp>D: D:\abc> るまり、C: ドライブでは「C:\temp」がカレントディレクトリ、D: ドライブでは「D:\abc」がカレントディレクトリになっています。 CurDir() 関数は、この、DOSレベルの、カレントディレクトリを、取得します。
その他の回答 (1)
- SherlockHolmes2
- ベストアンサー率40% (175/429)
仰るとおり違います。 CurrentProject.Path は、そのMDBファイルが存在する場所 CurDir() は、今現在いる場所 を示します。 MDBファイルが存在する場所は固定ですが、 今現在いる場所は、ChDir()関数等によって変動します。
お礼
ありがとうございます。
お礼
ありがとうございます。