
No.2ベストアンサー
- 回答日時:
> COUNT(*)を使う場合は
> Dim lCount as Long
> strSQL = "select count (*) from Table_Main"
> lCount = cnn.Execute (strSQL)
> でいいのでしょうか。
実際に試して見ましたか?
やってみれば、上記では正しくないことはすぐにわかるはずです。
Connection.ExecuteメソッドはRecordsetオブジェクトを返します。
(オブジェクトブラウザやヘルプで確認できます)
正しくは、(一例ですが)下記のようになります。
Dim adoCnn As ADODB.Connection
Dim adoRst As ADODB.Recordset
Dim lCount As Long
Dim strSQL As String
strSQL = "SELECT COUNT (*) FROM Table_Main"
Set adoCnn = New ADODB.Connection
Set adoRst = New ADODB.Recordset
adoCnn.Open
adoRst.Open strSql, adoCnn
lCount = adoRst.Fields(0).Value
※ 省略可能な引数は省略して書いています。実際に使用する場合は適宜変更してください。
なお、通常は、adoRst.Fields(0).Value のように列番号による参照ではなく、adoRst.Fields("Name").Value のように列名による参照が一般的です。
この場合は、SQLの結果セットが1列しかないことと、COUNT (*) にエイリアス
を付けていないため、このような記述にしています。
strSQL = "SELECT COUNT (*) As RecCount FROM Table_Main"
:
(略)
:
lCount = adoRst.Fields("RecCount").Value
のように、列名を付与して記述することもできます。
(コードの可読性の観点ではこの方が無難です。ただし、エイリアスと予約語がぶつからないように注意!)
失礼ですが、SQLやDBの基本的な操作を書籍等で研究された方がよいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
OracleのSQL*PLUSで、デー...
-
決定性有限オートマトン
-
日本語の表名、列名の利用について
-
SQLについて質問です。 AVG関数...
-
Excelで、改行がある場合の条件...
-
Excelでセルの書式設定を使用し...
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
実績累計の求め方と意味を教え...
-
select句副問い合わせ 値の個...
-
JSPのNULLレコード表示について...
-
エクセル関数 文字(ハイフン...
-
ACCESSの集計クエリで3件ある...
-
カレントレコードが無い事を判...
-
ADO VBA 実行時エラー3021
-
MERGE文を単体テーブルに対して...
-
ACCESSで大量の更新を行うと「...
-
postgresql DELETE後commit...
-
SQL 外部結合についての質問
-
ACCESSで「16389予約済みエラー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
OracleのSQL*PLUSで、デー...
-
決定性有限オートマトン
-
Excelでセルの書式設定を使用し...
-
Excelで、改行がある場合の条件...
-
GROUP BYを使ったSELECT文の総...
-
日本語の表名、列名の利用について
-
データモデルについて
-
主キーに重複があるレコードの...
-
DB2につきまして
-
NULLのみを保持した列を除外し...
-
テーブルにフィールド数以下の...
-
COBOLソースに記述するホスト変...
-
SQLについて質問です。 AVG関数...
-
SQL文(FORMAT)を教えてください
-
エクセルの出力方法で
-
image型のInsertについて
-
Excelについて
-
MS-ACCESS2000で数万件のデータ...
-
SQLで列名の変更
-
cursor.getString
おすすめ情報