※ ChatGPTを利用し、要約された質問です(原文:AccessSQL COUNT文で該当レコード抽出したい)
AccessSQL COUNT文で該当レコード抽出したい
このQ&Aのポイント
Access2000であるテーブルの条件に一致したレコード件数を抽出するSQLを作成しました。
条件に該当しない場合も1件で件数が戻ってきてしまいます。
AccessクエリでSQLを貼り付けて検証した場合はちゃんと0件になるのですがVBAのコードではうまく件数が抽出されません。
AccessSQL COUNT文で該当レコード抽出したい
初心者です。
Access2000であるテーブルの条件に一致した
レコード件数を抽出するSQLを作成しました。
条件に該当しない場合も1件で件数が戻ってきてしまいます。
AccessクエリでSQLを貼り付けて
検証した場合はちゃんと0件になるのですが
VBAのコードではうまく件数が抽出されません。
簡単なことだったらごめんなさい。
いろいろなサイトで探した末、
どうしても解決できないので
ご教授よろしくお願いします。
Dim strSQL As String
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim IntCount As integer
'SQL文を生成
strSQL = "SELECT COUNT(*) AS 件数 FROM テーブル名 "
strSQL = strSQL & "WHERE テーブル名.コード = '"
strSQL = strSQL & Forms![フォーム名]![txtコード]
strSQL = strSQL & "' AND Left([テーブル名]![区分],1) = '"
strSQL = strSQL & Forms![フォーム名]![cnb種類].Column(0)
strSQL = strSQL & "' AND テーブル名.名称 = '"
strSQL = strSQL & Forms![フォーム名]![txt名称]
strSQL = strSQL & "';"
Set db = CurrentDb
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
IntCount = rs.RecordCount
rs.Close
Set db = Nothing
Set rs = Nothing
お礼
>複数ヒットするような条件を与えて RecordCountとrs(0).Valueの違いを検証してみてください 検証してみたらおっしゃる通りで、うまく件数も抽出できました。 わかりやすくご説明していただいたおかげで 理解が深まりました。 この点を踏まえて詳細を学習してみます。 独学でACCESSを勉強中ですので また機会がありましたら是非よろしくお願いします。