質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

2回答

768閲覧

Access複数条件の検索フォームでエラーがでてしまう

0531

総合スコア15

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2023/03/06 00:23

編集2023/03/06 15:32

実現したいこと

Accessフォームで複数条件での検索フォームを作成したいです。
テキストボックスに条件を入力または選択して「検索」ボタンをクリックすると条件にあったレコードのみが表示されるようにしたいです。現在はエラーメッセージが表示されてしまいます。ご教授頂けると幸いです。よろしくお願いします。

前提

社内で使用予定の社有車の検索フォームを作成しました。検索条件を入力するテキストボックスを2つ作成しました。作成したテキストボックスに条件を入力または選択し「検索」ボタンをクリックするとエラーが出てしまいます。

発生している問題・エラーメッセージ

エラーメッセージが「型が一致しません」と表示されてしまいます。
調べたところデータ型が一致していないと書いてあったのですが直し方がわかりません。テキストボックスを単体で検索をすることはできるので原因がわからず困っています。
検索フィールドは共に短いテキストで設定しています

該当のソースコード

試したこと

「検索」ボタンクリック時のVBA
Me.Filter = "車種小分類='" & Me.車種小分類選択 & " '" And "事業部='" & Me.事業部選択 & " '"
Me.FilterOn = True
End Sub

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YT0014

2023/03/06 02:12

コードは、コードマークダウンでご提示ください。 「データ型が一致していない」のですから、関係する部分のデータ型を確認してみてください。 フィルター設定部を、演算子毎に別行にしてみるなどをお試しください。
guest

回答2

0

VBA

1Me.Filter = "車種小分類='" & Me.車種小分類選択 & " '" And "事業部='" & Me.事業部選択 & " '"

上記コードの右辺は、文字列 AND 文字列 となるため、ブール型となります。
左辺は、文字列型を要求しますので、「型が一致しません」
Form.Filter プロパティ

ANDも文字列として連結してください。

追記

VBA

1Me.Filter = "車種小分類=' 2Me.Filter = Me.Filter & Me.車種小分類選択 3Me.Filter = Me.Filter & " '" 4Me.Filter = Me.Filter And "事業部='" 5Me.Filter = Me.Filter & Me.事業部選択 & " '"

投稿2023/03/06 02:39

編集2023/03/06 06:32
YT0014

総合スコア1708

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0531

2023/03/06 06:25

回答ありがとうございました。 無事できました。 また何かありましたら助けて下さい。
YT0014

2023/03/06 06:30

自力で解決できるような努力をお願いします。 質問へのコメントに記載した、できるだけコードを多くの行に分けるのは、エラーの特定に便利ですので、修得されることをお勧めします。 参考までに、元のコードの場合を追記しておきます。
guest

0

ベストアンサー

Null考慮の不足です。
エラー対処だけなら、以下の様にすれば良いかと思います。
※文字列区切りの'の前のスペースは一致しなくなるので不要です。

VBA

1Me.Filter = "車種小分類='" & Nz(Me.車種小分類選択) & "' And 事業部='" & Nz(Me.事業部選択) & "'"

投稿2023/03/06 02:04

編集2023/03/06 03:05
sazi

総合スコア25138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2023/03/06 03:05

and 部分を見落としていたので訂正
0531

2023/03/06 06:24

いつも助かっております。 無事設定することができました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問