2019年7月31日水曜日

アクセスで下手にデザイン設計するより、エクセルからアクセスのベタなデータベースを操作しながら試行錯誤した方が、改善改良が早いんじゃないの - ActiveX Data Objects (ADO)(そのほか・VBA)


    
最近ではウインドウズも64ビット版が当然になり、32ビット版は風前の灯。
市販のラップトップもタブレットも、メモリー4GBが標準で装備されています。

であれば、メモリー3GBが上限の32ビット版は、あんまり意味が無いのです。
個人的にドスパラの8.9インチタブレットを使っているけど、64ビット版。

こうなると、64ビット版でも起動に問題の無いアプリケーションが大切だな。
会社のPCは、未だウインドウズ7の32ビット版だけど、切替えはもうすぐだ。

64ビットのプロフェッショナル版になると聞きましたが、VBAはどうなるの。
通常のコマンドラインだと、持っているタブレットでも動いて問題はないはず。

ただ、最近ハマってしまった「ActiveX Data Objects (ADO)」はやばいらしい。
データソースのアクセスを目的に開発された技術で、中心はアクセスのデータ。

オフィス・プロフェッショナルを購入すると入っているDBのコンポーネント。
これで作られたデータベース(DB)を、エクセルからアクセスするとします。

まあ、ファイルを開かずにデータベースを検索したり書き込んだり、実に便利。
しかも、モバイルタブレットの制約から、複数のエクセルファイルが開けない。

なので、アプリのエクセルはファイルを一つ開き、後はデータベース接続です。
こうしたコンセプトで、タブレット利用のアプリケーション開発なんだよね。

それで、タブレットの携行性を活かす目的で、在庫管理など現場の帳票管理だ。
このような目的なら、ADO接続というのは、実に便利なんだろうと思います。

ところで、アクセスのDBと言いましたが、ネットで検索して気付いたことが。
それは、ファイル形式で拡張子で”*.mdb”と”*.accdb”の二種類があるんだな。

前者は、アクセス2003まで標準だった形式で、古いのですが未だに使われます。
要するに、昔に作ったシステムで運用できていれば、ファイル形式は問わない。

新しいファイル形式に変える必要も無いはずで、ただ困った点はVBAでの接続。
どうも、ADO接続は32ビット版までで、64ビット版にライブラリーが無い。

このmdbファイルには、設定で「Microsoft.Jet.OLEDB.4.0」を使用します。
ところが、64bit版Windowsにはこれが提供されていないということなんだ。

    
代りに、オフィス2007以降のファイル形式、accdb型を使わねばなりません。
接続するライブラリーも、「Provider=Microsoft.ACE.OLEDB.12.0;」なんだ。

ネットを見ると、ADO接続の紹介で両方のコードが紹介されて混乱しやすいよ。
始めて取組もうと思う人向けに、どちらを使えば良いかも紹介せずにいきなり。

なので、ADO接続については、64ビット版の”OLEDB.12.0”をお勧めしますな。
接続に関するコーディングは、ライブラリーの指定を換えれば言いだけで簡単。

このアクセスのファイルは検索機能が優れており、項目にIndexが付けられます。
このインデックスを使ったSeekコマンドが優秀で、Findより高速なのがグーだ。

定数で検索条件も指定できて、最初または最後のデータを取得したり出来ます。
この他、一致データの直前直後のデータも見つけられたりして有用性はあるよ。

というわけで、厄介なのは、アクセスでインデックス付きテーブルの作成です。
先ず、プレーンのデータテーブルはエクセルで作成しておいて、検索作業で必要となるインデックスの指定をアクセスで行わなければいけないようで、ちゃんとオフィス・プロフェッショナル版を購入して、アクセスを使い倒さないといけないのだというのが分かったのでした。



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



0 件のコメント:

コメントを投稿