次の方法で共有


アドレス帳のコマンド ボタン

アドレス帳アプリケーションには、次のコマンド ボタンが含まれています。

  • データベースにクエリを送信する [検索] ボタン。

  • 新しい検索を開始する前にテキスト ボックスをクリアする [クリア] ボタン。

  • 従業員レコードへの変更を保存するための [プロファイルの更新] ボタン。

  • 変更を破棄する [変更の取り消し] ボタン。

重要

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 を実行すると、ユーザーが最後のクエリまたは更新以降にデータ グリッド上の従業員レコードに対して行った編集はすべて破棄されます。 元の値が復元されます。

参照

アドレス帳のナビゲーション ボタン
DataControl オブジェクト (RDS)