【保存版】2013年度発売全パチスロアプリ一覧(iPhone,iPad)

【Access】7つの楽技。Accessで簡単にフルパス、カレントパスの取得&存在チェック。

Accessでシステムを作成する際、外部ファイルの読み込みや逆に
外部ファイルを出力することがあるかと思います。

このとき、アプリケーションの配置されているディレクトリを
基準に各種パスを取得することが必要になってくるケースが
あります。

これらに対応するための、Accessで各種パスを簡単に取得する方法をご紹介。

いろいろと方法はあるかと思いますが、その中でも
一番楽な方法です。

まず、アプリケーションのカレントパスを取得する方法。

カレントパスは以下で取得できます。
(1)カレントパス
Application.CurrentProject.Path

アプリケーション名は、
(2)アプリケーションファイル名
Application.CurrentProject.Name

アプリケーションまでのフルパスの取得は、
(3)アプリケーションファイルのフルパス
Application.CurrentProject.FullName
Application.CurrentDb.Name

次にフルパスからファイル名を取得する方法。
一番簡単なのは、Dir関数を使用する方法になるかと思います。

*Dir関数は実際にファイルが存在する場合に使用します。
物理ファイルに関係なく、パスの文字列から求める場合は、
InStrRev関数で、終端から最初の”¥”までの文字数を算出する
方法があります。



Dir関数を使うと、ファイル名が返ってきます。
(存在しない場合は、長さゼロの文字列が返ってきます。)

(4)フルパスからファイル名を取得

Dir(フルパス)

例えば、Dir(Application.CurrentDb.Name)
ですと、アプリケーションファイル名が返ってきます。
(これは例ですのであまり意味はありません。アプリケーションファイル名が
欲しい場合は、Application.CurrentProject.Name でとれますので。)

物理ファイル関係なく算出する場合は、
mid(フルパス, InStrRev(strOUT_FULL_PATH, "¥") +1)

逆に、フルパスからファイルのディレクトリ(フォルダ)パスを
取得する方法は、いろいろとありますが、以下の方法が一番簡単だと
思います。

(5)フルパスからディレクトリパスを取得
Left(フルパス, Len(フルパス) - Len(Dir(フルパス)))

フルパスの文字数からファイル名の文字数を取り除いて、
ディレクトリパスの文字数を算出。そして、
フルパスの先頭から算出したディレクトリパスの文字数分を
切り出してディレクトリパスとしています。

説明の方がわかりにくいですね。(笑)

例えば、
Left(Application.CurrentDb.Name, Len(Application.CurrentDb.Name) - Len(Dir(Application.CurrentDb.Name)))
ですと、アプリケーションのカレントディレクトリが返ってきます。
(この例も意味はないです。。。)

物理ファイル関係なく算出する場合は、こちら。
Left(フルパス, InStrRev(フルパス, "¥") - 1)


次は存在チェック。こちらもDir関数を使います。

(6)ファイルの存在チェック
Dir(フルパス)

ファイルが存在しない場合、空文字が帰ってきます。
入出力実行前の存在チェックで重宝するかと思います。

以上、6つのパス取得技をご紹介しました。
Accessでシステムを作る際に知っておくと何かと便利かと思います。


ダウンロード版Access2013
>>Microsoft Office Access 2013 [オンラインコード] [ダウンロード]


VBA からIEを操作できるって知ってました?
>>Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応


>>経理業務のためのAccess実践講座―2007/2010/2013対応

[Google PR]

Twitterはじめました。プラプラ | Twitter

<< 【Access】Access2013ランタイム(Runtime)がリリース。すでにダウンロード可能です。
【Access】あれ?DoCmd.RunCommand acCmdSaveRecordの内部仕様が変わった? >>

[関連エントリ 最新5]

[Google PR]


[最新エントリ 5]

>>トップページ
人気カテゴリ:AccessTips SQLServer CakePHP iPad
過去ログ(全記事一覧)

コメント
コメントする(お気軽にどうぞ)









この記事のトラックバックURL
トラックバック
カテゴリー
プロフィール
お問い合わせ
Powered by NINJA TOOLS
links
recent comment
  • 【Access】vbaでhmacが正しく計算できた!!
    まさ (06/01)
  • 【Access】AccessReportMailメール送信時のポートを25から587へ
    わら (05/31)
  • 【SQLServer】超シンプル!再帰CTE(共通テーブル式)で連続データを作成する。
    sazi (09/08)
  • 【あまっちゃお】Amazon商品検索「あまっちゃお」プロジェクト始動。Ver00-06-00 β
    カメちゃん (07/31)
  • 【Access】あれ?DoCmd.RunCommand acCmdSaveRecordの内部仕様が変わった?
    花姉 (03/17)
  • 【Access】実行中のmdb(自分自身)をバックアップコピーする方法。
    亀 (02/06)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    管理人 (01/31)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    あ (01/31)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    K (11/13)
  • 【VAIOP】VaioXと両持ちできるものすっっごくマニアックなケース。当たり前ですが在庫限り。(笑)
    管理人 (08/04)
recent trackback
  • 【Access】2003安全でない式がブロックされていませんとセキュリティーレベル。
    awgs Foundry (10/29)
  • 【VAIOtypeP】液晶保護シートは、新車のカバーではない。レイアウト社液晶/天板保護フィルムセットRT-VP1FS1
    XMLがキライ。 (04/09)
  • Vistaから、LinkStation(NAS)にアクセスできません。
    そのほかいろいろ (09/06)