配布用でEXEと同じ場所にあるデータを効率良く呼出すには?

解決


manabu  2004-02-22 01:13:46  No: 111987

配布用で実行ファイルと同じディレクトリにあるサンプルのデータ(database)の呼出さないといけないのですが、配布先でどのディレクトリに格納するかわかりません。例を使って教えてください。  
[例]EXEファイルが  C:\マイドキュメント¥test.exe  にある場合、今  Set db = OpenDatabase("C:\マイドキュメント\サンプル.mdb")  で呼び出ししています。よろしくお願いします。


punto  2004-02-22 03:16:33  No: 111988

Dim sDb As String

sDb = App.Path
If Right(App.Path, 1) <> "\" Then sDb = sDb & "\"
sDb = sDb & "サンプル.mdb"
Set db = OpenDatabase(sDb)


punto  2004-02-22 06:42:55  No: 111989

なんか変・・・
If Right(App.Path, 1) ...

If Right(sDb, 1) ... 
かな.


manabu  2004-02-25 06:20:42  No: 111990

一つ一つの言葉の意味はわかりませんが、うまくいきました。助言ありがとうございました。


manabu  2004-02-25 07:27:37  No: 111991

それと余分な事ですが、一見 [ If構文 ] に見えるのですが [ End  If]がなくても、エラーなく動くみたいですが、こうゆう場合は別にいらないんですか?


punto  2004-02-25 08:30:40  No: 111992

If 文を一行で書いてしまう場合の書き方だよ.

逆にEnd If を付けると error になる.Else は書けるよ.
但し,Else 側に書く文も行内に書かなくちゃだめだ.勿論
End If をつけると error になるよ.

VB は基本的に一行一箇の satatement って rule 
があってそうでないのはそうでない言い訳が必要
と考えてるらしい.つまり,If 文を行を分けて
書きたかったら Then の後には何も書くな.そうすれば
End If がくるまで If 文は終らせないどいてあげる,
と言ってる訳だ.

そんなわけで,Else の 直後に If 文が書きたいって
いう理由だけで ElseIf なんていう妙な statement を
登場させなければならなくなる.ご苦労なこっちゃ….


manabu  2004-02-27 22:36:28  No: 111993

理解しようとしてもそれだけの知識がなく、感じ的にはわかりました。本当にありがとうございました。


VB研修中@新人  2005-04-14 02:14:57  No: 111994

追記失礼します、トピックと同じ質問なのですが
データベースへの接続を「OleDbDataAdapter」を使用してmdbにアクセスしています。

ソース上ではコネクションに接続パスが表示されています。

'
'OleDbConnection1
'
Me.OleDbConnection1.ConnectionString = 
"Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=
;Jet OLEDB:Database L" & _"ocking Mode=0;Data Source=
""C:\Documents and Settings\デスクトップ\テスト.mdb"";Je" & _....

このような場合にmdbを読む場合はどのようにすればいいのでしょうか?
よろしければご教授願います。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加