![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
いつもお世話になっております。
VBにてDAO接続する際にJETとODBCDirectとあると思いますが、この2つの違いはどこで判断するのでしょうか。
以下に自分がODBCDirect接続だと思っているロジックを記述します。
-------------プログラムスタート-------
_1 Private Sub Form_Load()
_2
_3 Dim Mydb As Database
_4 Dim wk_str As String
_5 Dim Mydata As Recordset
_6 Dim str_sql As String
_7
_8 'ODBC接続文字列
_9 wk_str = "ODBC;DSN = DataSoce_Name;"
10 wk_str = wk_str & "UID = User_Name;"
11 wk_str = wk_str & "PWD = PassWord"
12
13 'データベースとの接続
14 Set Mydb = DBEngine.OpenDatabase("DataSoce_Name", False, False, wk_str)
15 'SQL文
16 str_sql = "select name from sample"
17 'SQLの実行
18 Set Mydata = Mydb.OpenRecordset(str_sql, dbOpenDynaset)
19 'SQLの結果
20 MsgBox Mydata.Fields("name").Value
21 'レコードセットのクローズ
22 Mydata.Close
23 'データベースのクローズ
24 Mydb.Close
25 End Sub
-------------プログラムエンド-------
●Jet経由の場合
上記プログラム9行目のDSNと14行目のOpenDatabaseの"DataSoce_Name"にmdbのパスを設定している場合。
(OpenDatabaseにmdbのパスのみを設定している場合はローカル接続だと思う。)
●ODBCDirect経由の場合
上記プログラム9行目のDSNと14行目のOpenDatabaseの"DataSoce_Name"にODBCデータソース名を設定している場合。
2つの違いはこのような感じではと思いますが間違いであればご指摘いただけないでしょうか。
また、プログラム自体にも間違いがあればご指摘下さい。
No.1ベストアンサー
- 回答日時:
※略引用
>JETとODBCDirect
>この2つの違いはどこで判断
>●Jet経由の場合
>上記プログラム9行目のDSNと14行目~
>●ODBCDirect経由の場合
>上記プログラム9行目のDSNと14行目~
実験しておりませんが、あなたの言う通りの判断でよいのかも知れません。
しかしコードから判断をするのでは、あまり個人的にはすっきりしません。
ODBCデータソース名から、使用するドライバを割り出した方が良いかもしれません。
ユーザDSN
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
システムDSN
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
[ODBCのデータソース登録内容の確認]
http://okweb.jp/kotaeru.php3?q=239652
[PCインストール済みのアプリケーション情報の取得方法]
http://okweb.jp/kotaeru.php3?q=1253134
ご解答有難う御座います。
記述して頂いたURLを見てみたのですが、あまり理解できず、もっと勉強が必要だと思いました。
少しでも内容を理解できるように頑張ります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) エラー処理 3 2022/04/11 14:58
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
powered byの表記について
-
自動クエリとはどういうもので...
-
Visual C++で走行時に動かなく...
-
PICマイコンのコピー(クローン...
-
TMBMSRV.exeによるCPU使用率上昇
-
「Outlookが他のプログラムによ...
-
モジュール、アプリケーション...
-
読み込み中にアクセス違反が発...
-
VBAにてメール作成した際、一部...
-
VBAでユーザーフォームが自動的...
-
エクセルとワードをデスクトッ...
-
VB.NETで、プログラム上から新...
-
Excelに埋め込んだVBAのプログ...
-
1. 仮想CPU「exmini」を使用し...
-
FORTRANの絶対値についてです。
-
XnViewにwebpを「いつも開く」...
-
COMポートが開けません。
-
javaの再帰関数のフローチャート
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
ホームページのプログラムの見...
-
VBAにてメール作成した際、一部...
-
PICマイコンのコピー(クローン...
-
VBAでユーザーフォームが自動的...
-
Excelに埋め込んだVBAのプログ...
-
読み込み中にアクセス違反が発...
-
自動クエリとはどういうもので...
-
未使用の変数を一括検索する方法
-
「Outlookが他のプログラムによ...
-
XnViewにwebpを「いつも開く」...
-
モジュール、アプリケーション...
-
テキストボックスのエンターキ...
-
binファイルってiphone専用です...
-
ドロップダウンリストの文字を...
-
exeファイルしかないプログラム...
-
エクセルとワードをデスクトッ...
-
画像を読み込むのと取り込むの...
-
C言語でのaccess violationに...
おすすめ情報