First、Last 関数の使用例

次の例では、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