配布用で実行ファイルと同じディレクトリにあるサンプルのデータ(database)の呼出さないといけないのですが、配布先でどのディレクトリに格納するかわかりません。例を使って教えてください。
[例]EXEファイルが C:\マイドキュメント¥test.exe にある場合、今 Set db = OpenDatabase("C:\マイドキュメント\サンプル.mdb") で呼び出ししています。よろしくお願いします。
Dim sDb As String
sDb = App.Path
If Right(App.Path, 1) <> "\" Then sDb = sDb & "\"
sDb = sDb & "サンプル.mdb"
Set db = OpenDatabase(sDb)
なんか変・・・
If Right(App.Path, 1) ...
は
If Right(sDb, 1) ...
かな.
一つ一つの言葉の意味はわかりませんが、うまくいきました。助言ありがとうございました。
編集 削除それと余分な事ですが、一見 [ If構文 ] に見えるのですが [ End If]がなくても、エラーなく動くみたいですが、こうゆう場合は別にいらないんですか?
編集 削除If 文を一行で書いてしまう場合の書き方だよ.
逆にEnd If を付けると error になる.Else は書けるよ.
但し,Else 側に書く文も行内に書かなくちゃだめだ.勿論
End If をつけると error になるよ.
VB は基本的に一行一箇の satatement って rule
があってそうでないのはそうでない言い訳が必要
と考えてるらしい.つまり,If 文を行を分けて
書きたかったら Then の後には何も書くな.そうすれば
End If がくるまで If 文は終らせないどいてあげる,
と言ってる訳だ.
そんなわけで,Else の 直後に If 文が書きたいって
いう理由だけで ElseIf なんていう妙な statement を
登場させなければならなくなる.ご苦労なこっちゃ….
理解しようとしてもそれだけの知識がなく、感じ的にはわかりました。本当にありがとうございました。
編集 削除追記失礼します、トピックと同じ質問なのですが
データベースへの接続を「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を読む場合はどのようにすればいいのでしょうか?
よろしければご教授願います。