- - PR -
パスの自動取得について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 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 として作業していました。 具体的どこをどのように書き換えるか等、ご存知の方いらっしゃいましたらよろしくお願いします。 | ||||
|
投稿日時: 2008-08-14 12:32
アプリケーションで開くべき .mdb の場所を決定する手順や判断基準のようなものが示されなければ、具体的なコード案は示しようがありません。 .mdb のファイル名は固定なんですか? それとも変化しますか? また、仮に「.mdb は常に USB メモリに配置されているモノを参照する」のだとしても、複数の USB メモリが接続されていて、そのどれにも .mdb が存在したら、複数の候補からどれかひとつの .mdb を選択するための根拠や基準のようなものはありますか? | ||||
|
投稿日時: 2008-08-14 12:54
渋木宏明(ひどり)さん
さっそくのご返答ありがとうございます。 情報不足ですみませんでした。 今まで、1つのUSBにファイルをつくり、その中にテーブルデータやプログラムをいれてずっと作業してきました。 ですので、判断基準等をまったく気にせず作成を続けていました。 また、複数のUSBを接続して・・ということもなかったので、複数の候補から特定の.mdbを選択する基準や根拠はないです。 ないといいますか、私自身理解していないというのが今の状態です。 ファイル名も固定しており、変化しません。 | ||||
|
投稿日時: 2008-08-14 13:51
新しいUSBのドライブ文字を変更するというのはどうですか?
Windows XPならば、 [マイコンピュータ]/[コンピュータの管理]/[ディスクの管理]で USBのドライブ文字を変更できます。 | ||||
|
投稿日時: 2008-08-14 14:05
「ない」ままじゃ、コード化できません。 「ドライブ名が若い方におかれた .mdb」とか、なんかしら決めないと。 [ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2008-08-14 14:18 ] | ||||
|
投稿日時: 2008-08-14 14:40
アプリとmdbをセットでUSBメモリに格納して使用しているという理解でよろしいでしょうか?
この前提の上であるならば、アプリとmdbのドライブは同じとなりますので 要はプログラム内でカレントディレクトリなり取得して ドライブレターを抜き取ってあげればいいのではないでしょうか。 http://jeanne.wankuma.com/tips/vb.net/path/getcurrentdirectory.html 外していたらすいません。 | ||||
|
投稿日時: 2008-08-15 21:27
nyugeさん、渋木宏明(ひどり)さん、Tramさん ご返答ありがとうございました。
今回、nyugeさんから教えていただきました方法でドライブ名を変更しましたところ 以前のように実行することが出来ました!!ありがとうございます! 次回、製作に取り組む際は、はじめから自動取得にしたいと思います。 そのためにも、きちんと理解しなければ・・・と感じましたー!! 渋木宏明(ひどり)さん、お返事いただいたのに状況を説明できずすみませんでした。。 もっと勉強します!! Tramさん、参考ページありがとうございます!!しっかり勉強したいと思います! またお世話になるかと思いますので、その際はよろしくお願いします! | ||||
|
投稿日時: 2008-08-16 13:09
プログラミングとは関係なかったようですね。 元質問ではプログラミングに関するものが書かれているようでしたが... これで解決とするなら、私は設定ファイルか何かを持っておいた方が良いと思います。 ConnectionString は元より、画像パスについては、設定ファイルからの相対パス (実質は絶対パス) にした方がまだマシなのかなと思いました。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |