次の例では、Employees テーブルを使用して、Employees テーブルから返される最初のレコードと最後のレコードの LastName フィールドの値を取得します。
この例では、EnumFields プロシージャを呼び出しています。EnumFields プロシージャの内容は SELECT ステートメントの例の中にあります。
Sub FirstLastX1()
Dim dbs As Database, rst As Recordset
' この下の行を、使用しているコンピュータ上の
' Northwind のパスに変更してください。
Set dbs = OpenDatabase("Northwind.mdb")
' Employees テーブルから返される最初のレコードと最後の
' レコードの LastName フィールドの値を取得します。
Set rst = dbs.OpenRecordset("SELECT " _
& "First(LastName) as First, " _
& "Last(LastName) as Last FROM Employees;")
' Recordset を作成します。
rst.MoveLast
' EnumFields を呼び出し、Recordset の内容を
' 出力します。Recordset オブジェクトと必要な
' フィールド幅を渡します。
EnumFields rst, 12
dbs.Close
End Sub
次の例では、社員の中で誕生日が最も早い人と最も遅い人を探します。First 関数と Last 関数を使用した例、および Min 関数と Max 関数を使用した例を示します。
Sub FirstLastX2()
Dim dbs As Database, rst As Recordset
' この下の行を、使用しているコンピュータ上の
' Northwind のパスに変更してください。
Set dbs = OpenDatabase("Northwind.mdb")
' 社員の中で誕生日が最も早い人と
' 最も遅い人を探します。
Set rst = dbs.OpenRecordset("SELECT " _
& "First(BirthDate) as FirstBD, " _
& "Last(BirthDate) as LastBD FROM Employees;")
' Recordset を作成します。
rst.MoveLast
' EnumFields を呼び出し、Recordset の内容を
' 出力します。Recordset オブジェクトと必要な
' フィールド幅を渡します。
EnumFields rst, 12
Debug.Print
' 社員の中で誕生日が最も早い人と
' 最も遅い人を探します。
Set rst = dbs.OpenRecordset("SELECT " _
& "Min(BirthDate) as MinBD," _
& "Max(BirthDate) as MaxBD FROM Employees;")
' Recordset を作成します。
rst.MoveLast
' EnumFields を呼び出し、Recordset の内容を
' 出力します。Recordset オブジェクトと必要な
' フィールド幅を渡します。
EnumFields rst, 12
dbs.Close
End Sub