アドレス帳のコマンド ボタン
アドレス帳アプリケーションには、次のコマンド ボタンが含まれています。
データベースにクエリを送信する [検索] ボタン。
新しい検索を開始する前にテキスト ボックスをクリアする [クリア] ボタン。
従業員レコードへの変更を保存するための [プロファイルの更新] ボタン。
変更を破棄する [変更の取り消し] ボタン。
重要
Windows 8 および Windows Server 2012 から、RDS サーバー コンポーネントが Windows オペレーティング システムに含まれなくなりました (詳細については、Windows 8 および Windows Server 2012 の互換性クックブックを参照してください)。 RDS クライアント コンポーネントは、今後のバージョンの Windows で削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 RDS を使用するアプリケーションを、WCF Data Service に移行する必要があります。
[検索] ボタン
[検索] ボタンをクリックすると、SQL クエリをビルドして送信する VBScript Find_OnClick Sub プロシージャがアクティブになります。 このボタンをクリックすると、データ グリッドが設定されます。
SQL クエリのビルド
Find_OnClick Sub プロシージャの最初の部分では、グローバル SQL SELECT ステートメントにテキスト文字列を追加して、一度に 1 つのフレーズで SQL クエリをビルドします。 まず、データ ソース テーブルからすべてのデータ行を要求する SQL SELECT ステートメントに変数 myQuery
を設定します。 次に、Sub プロシージャにより、ページ上の 4 つの入力ボックスがそれぞれスキャンされます。
プログラムは SQL ステートメントのビルドにこの単語 like
を使用するため、クエリは完全一致ではなく substring 検索です。
たとえば、[姓] ボックスに "Berge" というエントリがあり、[職名] ボックスに "Program Manager" というエントリが含まれている場合、SQL ステートメント (myQuery
の値) は次のようになります。
Select FirstName, LastName, Title, Email, Building, Room, Phone from Employee where lastname like 'Berge%' and title like 'Program Manager%'
クエリが成功した場合、"Berge" というテキスト (Berge や Berger など) を含む姓を持ち、"Program Manager" (Program Manager、Advanced Technologies など) を含む職名を持つすべてのユーザーが HTML データ グリッドに表示されます。
クエリの準備と送信
Find_OnClick Sub プロシージャの最後の部分は、2 つのステートメントで構成されます。 最初のセグメントは RDS.DataControl オブジェクトの SQL プロパティを、動的にビルドされた SQL クエリと同様に割り当てます。 2 番目のステートメントによって RDS.DataControl オブジェクト (DC1
) がデータベースにクエリを実行し、クエリの新しい結果をグリッドに表示します。
Sub Find_OnClick
'...
DC1.SQL = myQuery
DC1.Refresh
End Sub
[プロファイルの更新] ボタン
[プロファイルの更新] ボタンをクリックすると、RDS.DataControl オブジェクトの (DC1
) SubmitChanges および Refresh メソッドを実行する VBScript の Update_OnClick Sub プロシージャがアクティブになります。
Sub Update_OnClick
DC1.SubmitChanges
DC1.Refresh
End Sub
DC1.SubmitChanges
が実行されると、リモート データ サービスはすべての更新情報をパッケージ化し、HTTP 経由でサーバーに送信します。 更新プログラムは、全か無であり、更新プログラムの一部が失敗した場合は、どの変更も行われず、ステータス メッセージが返されます。 DC1.Refresh
は、リモート データ サービスを使用して SubmitChanges を実行した後は必要ありませんが、新しいデータが確保されます。
[変更の取り消し] ボタン
[変更の取り消し] をクリックすると、RDS.DataControl オブジェクトの (DC1)
CancelUpdate メソッドを実行する VBScript の Cancel_OnClick Sub プロシージャがアクティブになります。
Sub Cancel_OnClick
DC1.CancelUpdate
End Sub
DC1.CancelUpdate
を実行すると、ユーザーが最後のクエリまたは更新以降にデータ グリッド上の従業員レコードに対して行った編集はすべて破棄されます。 元の値が復元されます。