Access:テキストボックスに入力した文字列で検索するフォームの作成|商品登録フォームに追加

フォーム内にテキストボックスとボタンを配置し、ボタンをクリックするとレコードを検索するフォームを作成します。入力文字列のチェックと検索は埋め込みマクロで行います。

BackHome Backフォーム

ここでは商品登録フォームを作成し検索機能を追加します、次に検索マクロを組み込みます。

テキストボックスに入力した文字列で検索するフォームの作成手順

  1. リボンの[フォーム]を使用し、表示・入力用フォームを作成します。
  2. テキストボックスとコマンド ボタンコントロールを作成したフォーム上に配置します。
  3. ボタンのクリック時イベントにマクロを作成します。

埋め込みマクロの作成手順

  1. アクションに「コントロールの移動」を選択し、検索するフィールド名を指定します。
  2. アクションに「IF」を選択します。
  3. もし検索文字列が入力されていない場合は、エラーメッセージを表示します。
  4. else文を追加し、アクションに「レコードの検索」を選択し、検索データに追加したテキストボックス名をセットします。

検索関連の「Access:ボタンでVBAを実行しサブフォームからデータ検索するフォームを作成する」も参照してください。




表示・入力用フォームの作成

フォームのレコードソースになるテーブルを選択し、リボンの[作成]~[フォーム]をクリックします。

リボンの[作成]~[フォーム]をクリックする

  1. プロパティシートで「フォーム」を選択します。
  2. 既定のビュープロパティを「分割フォーム」にします。
  3. 「この変更を適用するには、フォームまたはレポートを閉じ、再度開いてください」とメッセージが表示されるので、フォームを保存後閉じ、再度開きます。
既定のビュープロパティを「分割フォーム」にする

検索用のテキストボックスとコマンドボタンを追加する

  1. フォームフッター部分を下にドラッグし、領域を確保します。
  2. リボンの[フォーム レイアウト ツール]~[デザイン]~コントロールグループの[テキストボックス]を選択します。
  3. フォームフッターの上でクリックし配置します。
  4. ラベルの標題プロパティに「商品コード検索」と入力します。
フォームフッターにテキストボックスを配置

  1. リボンの[フォーム レイアウト ツール]~[デザイン]~コントロールグループの[コマンド ボタン]を選択します。
  2. フォームフッターの上でクリックし配置します。
  3. ボタンの標題プロパティに「検索」と入力します。
フォームフッターにボタンを配置


ボタンのクリック時イベントの設定

  1. ボタンをクリックし選択します。
  2. プロパティシートのイベントタブ~クリック時欄、右の[…]ボタンをクリックします。
ボタンのクリック時イベントの設定

ビルダーの選択ダイアログボックスが開きます。

  1. マクロ ビルダーを選択します。
  2. [OK]ボタンをクリックします。
ビルダーの選択ダイアログボックス

検索マクロの作成

アクションの追加から「コントロールの移動」を選択します。

アクションの追加から「コントロールの移動」を選択

コントロール名に、検索するフィールド名を入力します。
ここでは「商品コード」を検索します。

コントロール名に検索するフィールド名を入力

アクションの追加から「If」を選択します。

アクションの追加から「If」を選択

  1. Ifの判定部に「isnull([テキスト57])」と入力します。
    isnullは空文字かどうか判定します。
    テキスト57は追加したテキストボックスの名前です。これは作成した名前に変更してください。
  2. アクションに「メッセージボックス」を追加します。もし、検索文字列が入力されていない場合の処理です。
  3. メッセージに「検索する商品コードを入力してください」と入力します。
  4. [Elseの追加]をクリックします。検索文字列が入力されている場合の処理です。
Ifの判定部に「isnull([テキスト57])」と入力

アクションの追加から「レコードの検索」を選択します。

アクションの追加から「レコードの検索」を選択

検索データに「=[テキスト57]」と入力します。
テキスト57は追加したテキストボックス名に変更してください。
ここでは以下の、検索条件・大小文字区別・検索方向・表示書式で検索・カレントフィールドのみ・先頭から検索はデフォルトのままにしました。
検索条件を「フィールドの一部分」に設定すると、あいまい検索が可能です。

検索データに「=[テキスト57]」と入力

検索フォームの実行

テキストボックスに何も入力せずに[検索]ボタンをクリックすると、「検索する商品コードを入力してください」とエラーメッセージが表示されます。

何も入力せずに[検索]ボタンをクリックするとエラーメッセージが表示

テキストボックスに検索文字列を入力し[検索]ボタンをクリックすると、見つかったレコードが表示されます。
もし見つからなかった場合、レコードは移動しません。

し[検索]ボタンをクリックすると、見つかったレコードが表示される


BackHome Backフォーム

Copyright(C) FeedSoft