Share via


RDS プログラミング モデルの詳細

適用先: Access 2013、Office 2013

RDS プログラミング モデルの主な要素は以下のとおりです。

  • Rds。Dataspace
  • RDSServer.DataFactory
  • Rds。DataControl
  • イベント

Rds。Dataspace

クライアント アプリケーションでは、サーバーおよび呼び出すサーバー プログラムを指定する必要があります。 それに対し、クライアント アプリケーションはサーバー プログラムへの参照を受け取り、その参照をサーバー プログラムそのものと同じように扱うことができます。

RDS オブジェクト モデルでは、この機能は RDS.DataSpace オブジェクトに組み込まれています。

サーバー プログラムは、プログラム識別子 (ProgID) で指定します。 サーバーは、ProgID とサーバー コンピューターのレジストリを使用して、実際に起動するプログラムに関する情報を検索します。

RDS は、サーバー プログラムを、インターネットまたはイントラネット上のリモート サーバー、ローカル エリア ネットワーク上のサーバー、またはサーバーではなくローカルのダイナミック リンク ライブラリ (DLL) のどこに存在するかによって、内部的に区別します。 この区別に基づいて、クライアントとサーバーとの間で情報を交換する方法を決定し、クライアント アプリケーションに返される参照の種類を明確に区別します。 ただし、ユーザーにとっては、この区別は特別な意味を持ちません。 ユーザーにとって重要なのは、使用可能なプログラム参照を受け取るということだけです。

RDSServer.DataFactory

RDS が提供する既定のサーバー プログラムは、データ ソースに対して SQL クエリを実行して Recordset オブジェクトを返すか、または Recordset オブジェクトを受け取ってデータ ソースを更新することができます。

RDS オブジェクト モデルでは、この機能は RDSServer.DataFactory オブジェクトに組み込まれています。

さらに、このオブジェクトには、プログラムで入力できる空の Recordset オブジェクト (CreateRecordset) を作成するメソッドと、 Recordset オブジェクトをテキスト文字列に変換して Web ページを構築するための別のメソッド (ConvertToString) があります。

ADO では、 DataFactory ハンドラーの RDSServer.DataFactory の既定の接続およびコマンドの動作の一部、および接続、コマンド、セキュリティなどのパラメーターが格納されたカスタマイズ ファイルを無効にすることができます。

サーバー プログラムは、 ビジネス オブジェクトと呼ばれることもあります。 You can write your own custom business object that can perform complicated data access, validity checks, and so on. Even when writing a custom business object, you can create an instance of an RDSServer.DataFactory object and use some of its methods to accomplish your own tasks.

Rds。DataControl

RDS では、 RDS.DataSpaceRDSServer.DataFactory の機能を組み合わせるための手段、およびクエリの結果としてデータ ソースから返される Recordset オブジェクトを、ビジュアル コントロールで容易に使用できるようにするための手段が提供されています。 通常、RDS は、可能な限り自動的に、サーバー上の情報にアクセスしてビジュアル コントロールにその情報を表示しようとします。

RDS オブジェクト モデルでは、この機能は RDS.DataControl オブジェクトに組み込まれています。

RDS.DataControl には 2 つの側面があります。 1 つはデータ ソースに関する側面です。 RDS.DataControlConnect プロパティおよび SQL プロパティを使用して、コマンドおよび接続の情報を設定すると、自動的に RDS.DataSpace が使用されて、既定の RDSServer.DataFactory オブジェクトへの参照が作成されます。 その後、 RDSServer.DataFactory は、 Connect プロパティの値を使用してデータ ソースに接続し、 SQL プロパティの値を使用してデータ ソースから Recordset を取得して、 Recordset オブジェクトを RDS.DataControl に返します。

もう 1 つの側面は、返された Recordset 情報のビジュアル コントロールでの表示に関するものです。 ビジュアル コントロールを RDS に関連付けることができます。DataControl (バインドと呼ばれるプロセス内) と関連する Recordset オブジェクトの情報にアクセスし、Microsoft インターネット エクスプローラーの Web ページにクエリ結果を表示します。 各 RDS.DataControl オブジェクトは、単一のクエリの結果を表す 1 つの Recordset オブジェクトを、1 つまたは複数のビジュアル コントロール (テキスト ボックス、コンボ ボックス、グリッド コントロールなど) にバインドします。 各ページに複数の RDS.DataControl オブジェクトが存在する場合があります。 それぞれの RDS.DataControl オブジェクトを異なるデータ ソースに接続し、別のクエリの結果を取得することができます。

また、 RDS.DataControl オブジェクトには、関連する Recordset オブジェクトの行に対して移動、並べ替え、およびフィルター選択を行うためのメソッドがあります。 これらのメソッドは、ADO の Recordset オブジェクトのメソッドと似ていますが、同じではありません。

イベント

RDS は、2 種類の独自のイベントをサポートしています。 これらは、ADO のイベント モデルとは無関係です。onReadyStateChange イベントは、 RDS.DataControlReadyState プロパティが変更されるたびに呼び出され、非同期操作の正常完了、中断、またはエラーの発生をユーザーに通知します。 onError イベントはエラーが発生するたびに (エラーが非同期操作の途中で発生した場合でも) 呼び出されます。

注:

[!メモ] Microsoft Internet Explorer は、 onDataSetChanged ( Recordset は有効だが、まだ行を取得している) および onDataSetComplete ( Recordset は行の取得を終了した) という 2 つの追加イベントを提供します。