5.8 おまけ1/データ件数の取得
 SELECT文で取得したレコードが何件あるかという情報を取りたい場合です。このネタ、AccessやVBS(WSH)がナンチャラというよりもSQLの使い方になっちゃいますが、まぁいいかということで(笑)

 件数を取得したいときは、SQL(SELECT)のでCOUNTという関数を使います。
使用例
 COUNTの使い方です。例では、開いたMDBファイルの住所録テーブルというテーブルに入っているデータ数を表示しています。ちなみに、使うテーブルはAccessネタで使った住所録テーブルです。詳しくは、Accessネタ住所録を作ってみようの2.住所録テーブルの作成を参照してください。

 COUNT文を実行しているのは@のSELECT文の所です。実際にはCOUNT(*)ですが、あまり気にせずにこう書きましょう。このSELECT文にはWHEREが無いので全件がカウント対象になります。取得した件数には件数という名前を付けていますが、これが後でレコードセットから情報を取り出すときの名前(A)になります。それと、あたりまえですがWHEREで抽出条件を与えると、絞り込んだ後のデータがカウント対象になります。

 ちなみに、Accessを終了する方法は5.11 Accessを終了するを見てくださいね。

Option Explicit

Dim objAccess
Dim objDB
Dim objRS

'Accessオブジェクトを作成します
Set objAccess = CreateObject("Access.Application")

'Access画面を表示します
objAccess.Visible = True

'既存のMDBファイルを開きます
objAccess.OpenCurrentDatabase("c:\happy\island.mdb")

'DBオブジェクトを作ります
Set objDB = objAccess.CurrentDb

'@SQLを実行します
Set objRS = objDB.OpenRecordset("SELECT COUNT(*) AS 件数 FROM 住所録テーブル")

'A取得した件数を表示します
WScript.echo "件数=" & objRS("件数")

'レコードセットをクローズします
objRS.Close

'各種オブジェクトの破棄
Set objRS = Nothing
Set objDB = Nothing
Set objAccess = Nothing
 ※例では、Accessの画面をわざと表示しています
Copyright(C) 1999-2006 結城圭介。 All rights reserved