- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MS ACCESSのVBA-ファイルの相対アドレス)
MS ACCESSのVBA-ファイルの相対アドレス
このQ&Aのポイント
- MS ACCESS(2013)で、フォームの画像フィールドにVBAで画像ファイルを指定して表示する方法についての質問です。
- 現在は絶対アドレス指定をしていますが、相対アドレス指定を試みましたが、失敗しています。
- 画像が同じドライブの同じフォルダ内のサブフォルダ内にありますが、データベースごと(その関連のフォルダごと)USBなどの外部デバイスに移動しようとしています。具体的な方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
前の回答、文字化けしていますので、訂正です。 誤) Asusutasisiのプロパティでは相対アドレスは認識出来ません。 正) Accessのプロパティでは相対アドレスは認識出来ません。
その他の回答 (2)
- hatena1989
- ベストアンサー率87% (378/433)
回答No.2
Asusutasisiのプロパティでは相対アドレスは認識出来ません。 CurrentProject.Path でデータベースファイルのあるフォルダーのパスを取得出来ますので、 それを使えばいいでしょう。 If Me.PicTrue = 1 Then Me.IMG.Picture = CurrentProject.Path & "\Pic\Player\" & Player & ".bmp" End If
- papapa0427
- ベストアンサー率25% (371/1472)
回答No.1
>Me.IMG.Picture = "..\Pic\Player\" & Player & ".bmp" を Me.IMG.Picture = "E:..\Pic\Player\" & Player & ".bmp" で駄目でしょうか?
お礼
了解しました MS OfficeはカレントディレクトリがWeb対応されていないと読めました。 要するに、以下のような処理が必要かと。 Dim lnkPath As String lnkPath = CurrentProject.Path ・・・・ If Me.PicTrue = 2 Then Me.IMG.Picture = lnkPath & "\Pic\Player\" & ComposerName & ".bmp" End If (以下省略) なお、投稿時点では\=円マークでしたが、フォント設定かバックスラッシュに文字化けしてます。 Excelでは、Projectではなく,WorkSheetに該当するのでしょうが、MSの構成からいって、原則、マイドキュメントやTempのデフォルトディレクトリを指し示すようですね。 上記構文でエラーなく対応できました。 最近、MS Access Clubがどういう理由か閉鎖されてしまい、サポートに不満もありますが、素人には皆様の知見を収集するしか対策なしです。 今後とも、恥ずかしい質問をご披露すること、お許しください。