- PR -

パスの自動取得について

投稿者投稿内容
はる
会議室デビュー日: 2008/06/21
投稿数: 13
投稿日時: 2008-08-14 12:11
こんにちは!お世話になります。

作成物(VBでのプログラム、Accessのデータ)をUSBに入れて作業していました。
容量の関係で新しいUSBに移したところ、エラーが発生しました。

今まで使っていたUSBはリムーバルディスク(F:)だったのですが、新しいUSBではリムーバルディク(G:)となります。
接続文字列でF:\〜〜としており、Accessのテーブル内でも画像のデータをF:〜の名前で呼び出しているため、
エラーとなってしまいっているようです。

そこで、パスを自動的に取得したいと考えています。

{現在の接続文字列}
Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\ゼミ\ゆび.mdb")

{Accessで管理している画像のファイル名}
F:\ゼミ\指文字\あ.JPG

として作業していました。

具体的どこをどのように書き換えるか等、ご存知の方いらっしゃいましたらよろしくお願いします。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2008-08-14 12:32
引用:

具体的どこをどのように書き換えるか等、ご存知の方いらっしゃいましたらよろしくお願いします。



アプリケーションで開くべき .mdb の場所を決定する手順や判断基準のようなものが示されなければ、具体的なコード案は示しようがありません。

.mdb のファイル名は固定なんですか? それとも変化しますか?

また、仮に「.mdb は常に USB メモリに配置されているモノを参照する」のだとしても、複数の USB メモリが接続されていて、そのどれにも .mdb が存在したら、複数の候補からどれかひとつの .mdb を選択するための根拠や基準のようなものはありますか?
はる
会議室デビュー日: 2008/06/21
投稿数: 13
投稿日時: 2008-08-14 12:54
渋木宏明(ひどり)さん

さっそくのご返答ありがとうございます。

情報不足ですみませんでした。

今まで、1つのUSBにファイルをつくり、その中にテーブルデータやプログラムをいれてずっと作業してきました。
ですので、判断基準等をまったく気にせず作成を続けていました。
また、複数のUSBを接続して・・ということもなかったので、複数の候補から特定の.mdbを選択する基準や根拠はないです。
ないといいますか、私自身理解していないというのが今の状態です。

ファイル名も固定しており、変化しません。
nyuge
会議室デビュー日: 2006/12/15
投稿数: 1
投稿日時: 2008-08-14 13:51
新しいUSBのドライブ文字を変更するというのはどうですか?
Windows XPならば、
[マイコンピュータ]/[コンピュータの管理]/[ディスクの管理]で
USBのドライブ文字を変更できます。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2008-08-14 14:05
引用:

また、複数のUSBを接続して・・ということもなかったので、複数の候補から特定の.mdbを選択する基準や根拠はないです。



「ない」ままじゃ、コード化できません。
「ドライブ名が若い方におかれた .mdb」とか、なんかしら決めないと。


[ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2008-08-14 14:18 ]
Tram
常連さん
会議室デビュー日: 2002/10/10
投稿数: 21
お住まい・勤務地: 横浜
投稿日時: 2008-08-14 14:40
アプリとmdbをセットでUSBメモリに格納して使用しているという理解でよろしいでしょうか?
この前提の上であるならば、アプリとmdbのドライブは同じとなりますので
要はプログラム内でカレントディレクトリなり取得して
ドライブレターを抜き取ってあげればいいのではないでしょうか。
http://jeanne.wankuma.com/tips/vb.net/path/getcurrentdirectory.html
外していたらすいません。
はる
会議室デビュー日: 2008/06/21
投稿数: 13
投稿日時: 2008-08-15 21:27
nyugeさん、渋木宏明(ひどり)さん、Tramさん ご返答ありがとうございました。

今回、nyugeさんから教えていただきました方法でドライブ名を変更しましたところ
以前のように実行することが出来ました!!ありがとうございます!

次回、製作に取り組む際は、はじめから自動取得にしたいと思います。
そのためにも、きちんと理解しなければ・・・と感じましたー!!

渋木宏明(ひどり)さん、お返事いただいたのに状況を説明できずすみませんでした。。
もっと勉強します!!
Tramさん、参考ページありがとうございます!!しっかり勉強したいと思います!

またお世話になるかと思いますので、その際はよろしくお願いします!
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-08-16 13:09
引用:

はるさんの書き込み (2008-08-15 21:27) より:

今回、nyugeさんから教えていただきました方法でドライブ名を変更しましたところ
以前のように実行することが出来ました!!ありがとうございます!


プログラミングとは関係なかったようですね。 元質問ではプログラミングに関するものが書かれているようでしたが...

これで解決とするなら、私は設定ファイルか何かを持っておいた方が良いと思います。 ConnectionString は元より、画像パスについては、設定ファイルからの相対パス (実質は絶対パス) にした方がまだマシなのかなと思いました。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)