特定の基準を満たすテーブル内のレコードの数を数えようとしています。私は SQL を上手に使いたいので、Dcount ではなく SQL を使用することを好みます。以下は私の現在のコードです:
Dim countString As String
Dim count
countString = "SELECT COUNT(*) FROM `Engagement Letters` WHERE 'Client ID' = " & Me.cboSelectClient
count = CurrentDb.OpenRecordset(countString).Fields(0).Value
ええ、わかっています。テーブルとフィールド名にスペースを使用しました。これを変更します。このクエリはそのまま実行できるはずですが、とりあえずそのままにしておきます。
上記を実行すると、実行時エラー 3464 が発生します - 条件式のデータ型が一致しません。以下の dcount 関数が正常に機能しました。
count = DCount("[Engagement Letter ID]", "Engagement Letters", "[Client ID] = " & Me.cboSelectClient)
また、WHERE を使用しない以下の COUNT クエリも正常に機能します。
"SELECT COUNT(*) FROM `Engagement Letters`"
私の SQL に関する知識はごくわずかであり、より高度な VBA に関する知識もごくわずかであるため、どこが間違っているのかわかりません。誰でもこれで私を助けることができますか?