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

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

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

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

解決済

Accessテキストボックスに入力されている文字でレコード抽出する方法について

0531
0531

総合スコア12

Access

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

1回答

0グッド

0クリップ

253閲覧

投稿2022/11/29 02:04

前提

Accessフォームでレコード抽出をおこないたいです。フォーム上にテキストボックスと検索ボタン、解除ボタンを作成しました。テキストボックスに事業部または部課CDを入力し検索ボタンをクリックすると条件に合うレコードがすべて表示されるようにしたいです。条件を解除する「解除」ボタンをクリックすると全レコードが表示されるようにしたいです。現在はテキストボックスに入力し「検索」ボタンをクリックすると先頭のレコードのみが表示されるようになってしまいました。また部課CDでも検索できるようにしたいです。アドバイスをいただきたいです。よろしくお願いします。
設定は以下の通りです。
フォーム名:F_所属別車両一覧
テキストボックス名:事業部部課CD検索
「検索」ボタン
「解除」ボタン

「検索」ボタンの設定
フォームを開く:F_所属別車両一覧
Where条件式:[事業部]=[Forms]![F_所属別車両一覧]![事業部]

「解除」ボタンの設定
メニューコマンドの実行:コマンド「フィルター/並べ替えの解除」

実現したいこと

テキストボックスに抽出したいレコード「事業部」フィールドと「部課CD」フィールドを入力し「検索」ボタンをクリックすると該当のレコードが表示される。「解除」ボタンをクリックすると全レコードが表示されるようにしたいです。

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

テキストボックスに文字を入力し「検索」ボタンをクリックすると先頭のレコードのみが表示されてします。

該当のソースコード

試したこと

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

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

1

ベストアンサー

現状は検索ボタンにマクロを設定しているということですね。

マクロでもできないことはないですが、複雑な処理をするには難しくなります。また、今後、マクロでは対応できない処理も出てくることもあるかと思います。これを機会にVBAに乗り換えことをお勧めします。

ということで、VBAでの提案をさせていただきます。

現状は帳票フォームで開いた直後はすべてのレコードが表示されているとします。

「検索」ボタンと「解除」ボタンのクリック時のイベントプロシージャを下記のように記述します。

vba

1Private Sub 検索_Click() 2 Me.Filter = "事業部='" & Me.事業部部課CD検索 & "' OR 部課CD='" & Me.事業部部課CD検索 & "'" 3 Me.FilterOn = True 4End Sub 5 6Private Sub 解除_Click() 7 Me.Filter = "" 8 Me.FilterOn = False 9End Sub

イベントプロシージャの作成については下記などを参考にしてください。

■T'sWare AccessVBA徹底入門 Chapter3-2 ~イベントとイベントプロシージャ~

投稿2022/11/29 02:27

hatena19

総合スコア32001

spoofy_dragon😄を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

0531

2022/11/29 04:27

いつもお世話になっております。 おかげさまで無事できました。 やはりVBAは使えるようになっておかないとですね。 ありがとうございました。

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Access

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