ASP+Access2003+ADODB接続
という環境で開発をしております。
StrSQL = "select count(*) from table"
Open.StrSQL, conn
xRecount = StrSQL(0)
とすれば、単純に取得することはできますが、
SQL自体がカウント集計の結果の場合、
その集計結果のレコード件数を取得したいと思ったのですが、よく分かりません。
例えば、
select fDate, count(*). from tTable
where fDate >= '2006-08-01'
group by fDate
のようなSQLの結果の件数です。
8月1日以降のデータの件数を返したときに、
その結果
8/110件
8/20件
8/33件
となれば2が欲しく
8/10件
8/20件
8/30件
となれば0が欲しいわけです。
どうすれば取得できるでしょうか?
よろしくお願い致します。
ちなみに・・・
SQLServerの環境においては、
StrSQL = "select * from table"
Open.StrSQL, conn
xRecount = StrSQL.RecordCount
で取得できるのですが、ACCESSだとダメのようです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
素人ですので直接的な回答をする能力はありませんが・・・。
.RecordCount を求めたい訳ではないようですね。
例えば、次のような Select文でないと RecordCount と欲する値は一致しないと思います。
Select Count(*) AS X From Test Group By Test Having Count(*)>0;
この回答への補足
noname#22222様
bonaron様
大変レス遅くなり申し訳ありません。
いろいろと調べた結果、大体以下のようなことがわかりました。
【前提として・・・】
環境DBDataConnectionの方式
ASPAccess2003ADODB
となっています。
【結論としては・・・】
この組み合わせにおいて、レコードセットのRecordCountプロパティというものが、うまく働かないということが分かりました。
(正確には、ASP+SQLServerの環境ではできるが、アクセスだとダメということです・・・ネットでいろいろ書かれていました)
ということで、違う方法を考えることになりました。
でやはりSQLを発行するわけですが、
例えば、次のような Select文でないと RecordCount と欲する値は一致しないと思います。
Select Count(*) AS X From Test Group By Test Having Count(*)>0;
で、いけそうですね。試してみます。
ありがとうございました。
No.1
- 回答日時:
ASP は存じませんが。
> 例えば、
> select fDate, count(*). from tTable
> where fDate >= '2006-08-01'
> group by fDate
Select Count(*) FROM (
select fDate, count(*). from tTable
where fDate >= '2006-08-01'
group by fDate
)
で取得できます。
(Provider=Microsoft.Jet.OLEDB.4.0、ExcelVBAにて確認)
> xRecount = StrSQL.RecordCount
> で取得できるのですが、ACCESSだとダメのようです。
接続プロバイダ、CursorLocation、CursorType の組み合わせによって、
RecordCount でも取得できます。
ASP での構文はわかりませんが
Open.StrSQL, conn, 1, 1
としてみるとか、
conn.CursorLocation = 3
を加えることで取得できるかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Visual Basic(VBA) SQLで抽出 4 2022/12/04 13:55
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
count関数の値をwhere句で使用...
-
OUTER JOIN とgroup by
-
グループ内最大値に印を付けるS...
-
ストアドファンクションの再帰...
-
SQL 重複レコードの数え方
-
下記の問合せを行うクエリを、 ...
-
単一グループのグループ関数で...
-
複数のテーブルから値を合計出...
-
AccessのSQL文で1件のみヒット...
-
select文の実行結果に空白行を...
-
2回実行のSQL文を1回にしたい
-
int型フィールドにnullを登録で...
-
テーブルのフィールドの一番長...
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
並べ替えについて
-
レコードの登録順がおかしい
-
レコードの更新履歴について
-
ACCESSのクエリで空白以降を別...
-
【PL/SQL】FROM区に変数を使う方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
count関数の値をwhere句で使用...
-
結合したテーブルに名前をつけ...
-
OUTER JOIN とgroup by
-
ストアドファンクションの再帰...
-
SQL 自己結合で件数の条件指定
-
SQL カラムの値ごとの集計
-
同一カラム名でjoinしたところ...
-
MySQLのSUM関数について
-
MySQLで最小値
-
グループ内最大値に印を付けるS...
-
小数点以下桁数が最大の値に小...
-
【初歩】項目別の合計件数をSQL...
-
SQLローダーCSV取込で、囲み文...
-
単一グループのグループ関数で...
-
select文の実行結果に空白行を...
-
テーブルの最後(最新)のレコー...
-
【PL/SQL】FROM区に変数を使う方法
-
SELECT FOR UPDATE で該当レコ...
-
2つの列が同じ値の行を取得するSQL
-
レコードの登録順がおかしい
おすすめ情報