
access 超初心者です。
フォームに2つのコンボボックス(COM_A,COM_B)があり
そのコンボボックスで条件を2つ設定し、テーブル(TBL)から
条件の一致したレコードを検索したいのですが、うまくいきません。
TBLのフィールド AAA ---> COM_Aで指定
BBB ---> COM_Bで指定
Dim db As DAO.Database
Dim TBL As DAO.Recordset
Set db = CurrentDb
Set TBLrs = db.OpenRecordset("TBL", dbOpenDynaset)
TBLrs.FindFirst"AAA='"&Me.COM_A&"'"And"BBB='"& Me.COM_B & "'"
If TBLrs.NoMatch Then
処理
Else
処理
End If
というコードなのですが、実行すると『型が一致しません』となってしまいます。
TBLrs.FindFirst"AAA='"&Me.COM_A&"'"
If TBLrs.NoMatch Then
~
とか
TBLrs.FindFirst"BBB='"&Me.COM_B&"'"
If TBLrs.NoMatch Then
~
のように条件を1つにすると各々問題なく動作します。
単純にAndでひっつけるだけではダメなのでしょうか?
いろいろ調べましたが、完全に行き詰ってしまいました。
ヒントでもいただければありがたいです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
>TBLrs.FindFirst"AAA='"&Me.COM_A&"'"And"BBB='"& Me.COM_B & "'"
恐らく『「And」は文字列として渡す必要があるから』と考えられて
「"And"」という形で挿入されたのだろうと思います。
確かにそう(=文字列として渡す必要がある)なのですが、そのためには、その前の
「AAA='」という文字列と、「Me.COM_B」というコンボボックスへの参照式とを
結合させた場合と同様に、「&」を使ってやる必要があります。
なお、文字列が連続する場合は、「"~"& "~"」とする代わりに、文字列全体を
一組の「""」で囲って「"~~"」とすることもできます。
ですので、上記の部分を
TBLrs.FindFirst "AAA='" & Me.COM_A & "'" & " And " & "BBB='" & Me.COM_B & "'"
とするか、または連続する文字列をひとつにまとめて
TBLrs.FindFirst "AAA='" & Me.COM_A & "' And BBB='" & Me.COM_B & "'"
と修正すれば、正しく動作するかと思います。
(「And」の前後には、ともに半角スペースが必要なので注意)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースの変換
-
SQLって何のためにあるのでしょ...
-
初心者です。Accessを使って、...
-
ACID特性って?
-
別のACCESSデータベースのテー...
-
スタライズとは、どういう意味...
-
OracleからSQLServer参照時の不...
-
OpenOfficeのBaseでExcelのデー...
-
どういう専門学校へいくべきで...
-
AndroidからのAccessデータベー...
-
RBDの反対語は?□DB??
-
型 varchar から型 numeric へ...
-
データベースの最適化をマクロ...
-
図書在庫管理をAccessで‥‥参考...
-
ODBC経由の処理が遅い
-
oracleで別のグローバルデータ...
-
ODBCを使わないでExcelへ連携
-
マクロでデータベースの最適化...
-
sqlite2とsqlite3の違いについて
-
CSVファイルの重複チェック
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
希望の位置へフィールドを追加...
-
DAO フィルターをかけたい エ...
-
エクセルからアクセスにADO...
-
データベースの変換
-
accessのvbaでの実行時エラーに...
-
FindFirst複数条件
-
[ACCESS/VBA]動的にSQL文を...
-
Access 余分な件数分データ削除...
-
初心者です。Accessを使って、...
-
別のACCESSデータベースのテー...
-
どういう専門学校へいくべきで...
-
SQLって何のためにあるのでしょ...
-
型 varchar から型 numeric へ...
-
AndroidからのAccessデータベー...
-
スタライズとは、どういう意味...
-
データベースの2GBって・・・?
-
データベースの最適化をマクロ...
-
JavaとOracle Javaって何が違う...
-
クエリをキャンセルしたいので...
-
DB2 UDBって?
おすすめ情報