表16:文字列関数を中心としたOffice 2000 VBAの新規関数 | |
関数 | 機能 |
Filter関数 | 指定されたフィルタ条件に基づいた文字列配列のサブセットを含むゼロベースの配列を返す。 |
FormatCurrency関数 | システムのコントロールパネルで定義されている書式を使って通貨形式の文字列を返す。 |
FormatDateTime関数 | 日付形式または時刻形式の文字列を返す。 |
FormatNumber関数 | 数値形式の文字列を返す。 |
FormatPercent関数 | 100で乗算したパーセント形式の式にパーセント記号(%)を付加して返す。 |
InStrRev関数 | ある文字列の中から指定された文字列を最後の文字位置から検索を開始し、最初にみつかった文字位置(先頭からその位置までの文字数)を返す。 |
Join関数 | 配列に含まれる各要素の内部文字列を結合して作成される文字列を返す。 |
MonthName関数 | 指定された月を表わす文字列を返す。 |
Replace関数 | 指定された文字列の一部を別の文字列で指定された回数分で置換した文字列を返す。 |
Round関数 | 指定された小数点位置で丸めた数値を返す。 |
Split関数 | 各要素ごとに区切られた文字列から1次元配列を作成して返す。 |
StrReverse関数 | 指定された文字列の文字の並びを逆にした文字列を返す。 |
WeekdayName | 関数指定された曜日を表わす文字列を返す。 |
そもそも、文字列関数と切っても切れない関係にあるのがデータベースです。文字列関数とは、データベースから取り出したデータを加工するために用意された機能である、と位置づけても過言ではありません。つまり、Office 2000 VBAで文字列関数の強化が図られているその裏側には、今後はOffice 2000がローカルマシン、サーバーマシンを問わずにデータベースのフロントエンドとなり得る可能性があるということなのです。
従来は、Accessの標準ファイルであるスタンドアロンシステムのMDBファイルは、DAO(Data Access Objects)と呼ばれるインターフェイスを介してJetエンジン(Microsoft AccessやVBに搭載されているデータベースエンジン)を使って操作していました。また、シーケンシャルファイルとは別にインデックスファイルを作成し、データアクセスを高速化したISAMファイル(Indexed Sequential Access Method)や、Microsoft SQL ServerやOracleデータベースなどの他のリレーショナルデータベースにはODBC(Open DataBase Connectivity)経由でアクセスしていました。
しかしOffice 2000 VBAからは、ADO(ActiveX Data Objects)がデータベース開発のキーワードとなることでしょう。なぜなら、ADOを使えば、MDBファイルのようなスタンドアロン型のデータベースにはDAO、クライアント/サーバーシステムでSQL ServerなどにアクセスするならODBCドライバ、というようなアクセス方法による区別がなくなるからです。
ADOは、図3のようにOLE DBプロバイダと呼ばれるデータアクセスエンジンをベースにしています。したがって、従来のスタンドアロンシステムのコードに、少し手を加えるだけで、クライアント/サーバーシステムへの拡張が可能な上、両者の違いを意識する必要がありませんので、データベースプログラミング初心者にとっても習得が容易になっている点が大きな特徴です。
図3:Office 2000 VBAでは、データベースへのアクセス方法はADOに統一される |
![]() |
Office 2000のリリースは、私たちVBAユーザーにとって、本格的、かつ柔軟なデータベースの設計や開発を学習する絶好の機会と言えるでしょう。ちなみに、ADOはMicrosoftのコンポーネント仕様を実現するための「COM」と呼ばれるテクノロジーに基づいている点を補足しておきます(表17)。
表17:Office 2000 Developerのデータ接続ツール | |
機能 | 説明 |
Data Environmentデザイナ | データ連結コントロールへ結合するために、外部データベースへの接続をVBA内で簡単に使用できるインターフェイスで作成する。 |
ADOデータコントロール | データ連結コントロールへ結合するために、VBA内で簡単に使用できる外部データベースとの接続を作成する。 |
Data-Aware Microsoft ActiveXコントロール | Hierarchical FlexGridおよびデータコンボ(DataCombo)コントロールなどのコントロール。データソースに連結させてデータの表示や編集ができる。 |
Microsoftデータ連結コレクション | データコンシューマとデータソース間のやりとりを管理する。 |
Data Reportデザイナ | Data Environmentから項目をドラッグするだけで、コードを記述することなく洗練されたレポートを素早く作成する。 |