Address Book のコマンド ボタン

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

[Find] ボタン

[Find] ボタンをクリックすると、SQL クエリを作成して送信する VBScript Find_OnClick Sub プロシージャが実行されます。このボタンをクリックすると、データ グリッドにデータが設定されます。

SQL クエリの作成

Find_OnClick Sub プロシージャの最初の部分では、1 回に 1 フレーズずつテキスト文字列をグローバル SQL SELECT ステートメントに追加して、SQL クエリを作成します。最初に、データ ソース テーブルのすべてのデータ行を要求する SQL SELECT ステートメントに、変数 myQuery を設定します。次に Sub プロシージャは、ページ上の 4 つの各入力ボックスをスキャンします。

プログラムでは SQL ステートメントの作成に like という語を使用しているので、このクエリでは、完全に同一の文字列ではなく、部分的に同一の文字列が検索されます。

たとえば、[Last Name] ボックスに「Berge」、[Title] ボックスに「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

[Update Profile] ボタン

[Update Profile] ボタンをクリックすると、VBScript Update_OnClick Sub プロシージャが実行され、そのプロシージャ内で RDS.DataControl オブジェクト (DC1) の SubmitChanges および Refresh メソッドが実行されます。

Sub Update_OnClick
    DC1.SubmitChanges
    DC1.Refresh
End Sub

DC1.SubmitChanges が実行されると、RDS がすべての更新された情報をパッケージ化して、HTTP 経由でサーバーへ送信します。この更新は、全体が更新されるか、まったく更新されないかのどちらかです。更新の一部が正常に行われなかった場合には変更は一切行われず、ステータス メッセージが表示されます。DC1.Refresh は、RDS を使用した SubmitChanges の後では必要ありませんが、データが更新されていることの保証になります。

[Cancel Changes] ボタン

[Cancel Changes] をクリックすると、VBScript Cancel_OnClick Sub プロシージャが実行され、そのプロシージャ内で RDS.DataControl オブジェクト (DC1) の CancelUpdate メソッドが実行されます。

Sub Cancel_OnClick
    DC1.CancelUpdate
End Sub

DC1.CancelUpdate が実行されると、最後のクエリまたは更新以後にデータ グリッドで社員レコードに行ったすべての変更が破棄されます。したがって、元の値が復元されます。

次へ   Address Book の移動ボタン