• ベストアンサー

VB2005でDBのドライブ指定の方法

VB2005初心者です。 MDBと接続してテーブルデータを参照・更新するプログラムを作っていますが、接続先の指定を「C:\\アプリ\VB¥支払先.mdb」と記述していますが、プログラムの保存先と同じフォルダなので省略した記述にしたいのですがでのように書いたらよいかわかりません。 省略したい理由はプログラムの保存先を移動(例えばCドライブをEドライブに「アプリ」のフォルダ名を変更)した場合でもMDBの接続部の記述を変更することなく動かしたいからです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

Application.ExecutablePath で実行アプリの exe 名まで含むフルパスを取得。 これを System.IO.Path.GetDirectoryName() に突っ込めばパスの最後にあるファイル名を除いたパス文字列を得られます。 <サンプル> Dim myDir As String = System.IO.Path.GetDirectoryName(Application.ExecutablePath)

risa5555
質問者

お礼

お礼が遅くなりました。 どうもありがとうございます。

その他の回答 (1)

回答No.1

お世話になります。 詳しいことがわからないので何とも言えませんが、 exe ファイルと同じ場所に mdb を配置している、というのであれば、 たぶん、リリース後は「C:\\アプリ\VB¥支払先.mdb」を 「支払先.mdb」に変えるだけでよいのではないでしょうか。 ですので、Debug ビルドのときは プロジェクトフォルダ\bin\Debug Release ビルドのときは プロジェクトフォルダ\bin\Release に mdb ファイルをおいてテストしてあげる必要はあります。

risa5555
質問者

お礼

お礼が遅くなりました。 どうもありがとうございます。

関連するQ&A

  • VB2005でMDBに接続方法

    お世話になります。 VB2005でアクセスに接続したいのですが、 よく理解できません。 こんな感じで、ネットで見たのを 記述したのですが、なんかエラーになります。 VB6みたいに参照設定が必要なのでしょうか? (記述例) Dim Cn As New OleDbConnection  ↑で警告?になる。 ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\データ.mdb") Dim SQLCm As OleDbCommand = Cn.CreateCommand ↑参照コンポーネントがみつかりませんでした。 と怒られます。 宜しくお願いいたします。

  • VB6.0での%windir%アクセス方法

    Windows2000とWindowsXPの端末で使用するツールをVB6.0で作成しています。 プログラムですが、  Windows2000の場合であればc:\winnt、  WindowsXPの場合であればc:\windowsの ディレクトリに保存しているファイルを参照し、 そのファイルをいじくる流れになります。 Winntフォルダやwindowsフォルダという情報は、コマンドプロンプトであれば%windir%で勝手にOSの種類から認識/判別してくれるのですが、 これがVBでは認識しません・・・。 どのようにすれば、VBで%windir%を認識/判別することができるのでしょうか??? なんか説明が上手くないのですが、意味、分かりますでしょうか?? ヨロシクお願い致します。

  • ファイルの検索方法

    ACCESS初心者で困っています↓ Cドライブの直下、またはDドライブの直下にXXXX.mdbというファイルがある場合に限り処理をするプログラムを作っていたんですが、ユーザーによっては保存先が違う場合があるので、すべてのドライブから対象のXXXX.mdbというファイルがあるか検索したいのですが、検索方法がわかりません。Dir("フルパス")で探していたのですが、フォルダ内だけのようなので検索できませんでした。 申し訳ありませんがご教授願います。

  • VB(.NET)でサーバー上のDB(ACCESS)にInsert

    IIS5.0の導入されているサーバにACCESSのMDBがあります。 このデータベースにインターネットを介して、レコードの Insert・Updateを行いたいです。 クライアント側のアプリはVB(.net)を利用して作成する つもりでいるのですが、直接サーバ上のDBに接続する事は 可能な物でしょうか? それとも、サーバーサイドに待ち受けプログラムを常駐させ クライアントからはHTTP経由等で情報を投げて、insert・Update は、サーバーサイドプログラムが行う様な2段構えにしなければ ならないのでしょうか? ご存じの方おられましたら教えてください。

  • <EXCEL2007 VB(VBA) カレントフォルダの変更方法>

    <EXCEL2007 VB(VBA) カレントフォルダの変更方法> VBからプログラムで用途に合わせてEXCELの読み出し、保存のフォルダ位置をコントロールしようとしています。 ファイルの読み出し、保存指定の時に希望のカレントフォルダを開けるように、プログラムでCHDIRやチェンジドライブを指定してから「GetOpen」「GetSaveAs」を実行しても、カレントフォルダはマイドキュメントから変わりません。 「EXCELのオプション-保存-規定のファイルの場所」では、固定化されてしまうので利用出来ません。 EXCEL2007では方法が変わったのでしょうか? 検索しても中々、トピックスに出会わないので思い切って質問に出してみました。 わかる方いましたらよろしくお願いします。

  • DドライブにインストールしているのにCドライブにも保存される?

    power pointをインストールしました。 Cドライブの空き容量があまりないため、インストール先をDドライブに変更して行いました。 しかし、インストール中にCドライブにも保存しているようなことが書いてあり インストール後にCドライブの容量を確認したら減っていました。 前にも似たような経験があるのですが、Cドライブにも保存されるのでしょうか? どこのフォルダに保存されているのでしょうか?(WINDOWSフォルダでしょうか?) よろしくお願い致します。

  • c言語で作成したデータをwindowsのアプリ(VB6で作成)で読み取りたいのですが

    VBで作成したアプリの中の変数の値をC言語で作成したプログラムで参照したり、C言語の変数(メモリの値)をVBのアプリで参照したいのですが、どのようにすればいいのでしょうか。 よろしくお願いします。

  • 保存するドライブ先を指定できないとき

    できる限りDドライブに保存したく、インストールするときに保存先を聞かれたら変更するようにしているのですが、たまに保存先を聞かずに勝手にCドライブに保存されるソフトがあります。 どうにかしたら、保存先を変えることはできたのでしょうか? また、一度Dドライブに保存されてしまった場合、一度アンインストールして入れなおさないないと保存先は変えられないですか?(その場合も、保存先を選択できなければ同じことなのですが、、) ご回答お願いします。

  • VB6の寿命

    10年ほど掛け、VB6を使って趣味で作ったプログラムがあります。 ソースコードが数万行あり、今さら新バージョンに移植する気力がありません。 現在は、XPで使用しておりますが、7や8上でもVB6は稼働するものなのでしょうか? また、VB本体だけでなく、Office2003のAccessデータベース(mdb)に接続するデータベースアプリなので、Office2003が最新OSで稼働するかも心配です。 XPサポート終了後、どうすれば良いか、迷っています。 良い知恵はありますか?

  • VB2008でほかのアプリケーションを操作したい

    VB2008でほかのアプリケーションを操作したい VBでButton1を押したらメモ帳で「ABC」と入力し新規保存させたり プリンタドライバーの設定を変更したりという操作をボタン一発でできるプログラムを作ろうと思ったのですが、どの様なコードの記述をしたらいいのでしょうか?

専門家に質問してみよう