データベースをエクセルで操作する-5.udlファイル

14.11.04

 下記は、Access(アクセス)だけで通用する登録、更新の方法です。登録と更新が、同時に行えます。
 「Microsoft Access Driver」で接続しても通用しないので、「.udl」ファイルを使って、接続します。
 「.mdb」であれば、「Jet 4.0 OLE DB Provider」
 「.accdb」であれば、「Microsoft 15.0 Access Database Engine OLE DB Provider」を使います。
 めんどうなコードを書かなくても、結果オーライで接続可能。 ちなみに、Mysqlでも、「.udl」ファイルで「Microsoft OLE DB Provider for ODBC Drivers」を設定することにより、接続、前述の抽出、登録その他できます。しかし、下記の方法ついては不可能でした。(1-2 インデックスの設定他、Mysqlでは、サポートされていない記述があるようです。) 

更新と新規登録

C、方法3(更新と登録を同時に行う)
 「.mdb」でも、手順は同じ。「.accdb」で説明します。
a、Accessの設定
1、とにかく、データベース「pl2.accdb」にテーブル「PL」を作り、データを入れてます。
2、デザインタブのインデックスをクリック、インデックス名をメモしておきます。

1
1
2、インデックス名は「primarykey」
2

b、「.udl」ファイルの作成
1、テキストエディタなどを開き、空のまま「pl2.txt」と名前を付けて保存
2、保存した「pl2.txt」の拡張子を「pl2.udl」に変更
3、「pl2.udl」を開き、プロバイダータブの「Microsoft 15.0 Access Database Engine OLE DB Provider」を選択し、「次へ」ボタンを押す
  (「.mdb」であれば、「Jet 4.0 OLE DB Provider」)
4、データソースに「pl2.accdb」までのフルパスを入力し、「接続のテスト」ボタンを押す
5、接続に成功したら、OK→OK で終了

2、かまわず「はい」で変更
2
3
3
4
4
5
5

c、登録と変更
1、モジュールに、下記のコードを記述
  インデックスの設定には、a で調べた「primarykey」を入れる。
2、エクセルにデータを抽出
3、3 のようにデータに変更を加え、登録
4、「phpMyAdmin」で調べると、データが登録および変更されている。

2
2
3、色付き部分を修正
3
4
4

1-1、抽出

1-2、登録と更新

※モジュールにコピペすると「半角スペース」が、「?」に文字化けする場合がある、修正してご使用ください。

Mysqlの「.udl」ファイルの設定

1、「・・・・.udl」を開き、プロバイダータブの「Microsoft OLE DB Provider for ODBC Drivers」を選択し、「次へ」ボタンを押す
2、2 のようにデータベース名「test」を入力し、「ビルド」ボタンを押す
3、「test dsn」を選択し、OK
4、4 のように入力し、「test」ボタンを押す
5、接続に成功したら、OK→OK
6、6 、7 のように「2.サーバーへの・・・・」に入力、パスワードを保存するにチェック→接続のテスト
7、接続に成功したら、OK→OKで終了

1
1
2
2
3
3
4
4
5
5
6、7
6、7

参考文献

 上記の登録、更新の処理が載っている。その他面白いサンプルがたくさんあり、特にデータベースのSectionは、役にたった。

1


category: 4.PC , DB Excel comment:(0)

コメントを残す

TrackBack URL
http://khmito3.sub.jp/wp2/2014/11/accdb2/trackback/