• 締切済み

アクセスのフォームから検索を作成する場合

始めまして、今アクセスを使って顧客管理を作成しています。 フォームで検索を出来るようにしたいのですが、ひとつの検索ボタンで、検索方法が、お客様コード・お客様名(漢字・ふりがな)・電話番号が検索できるやり方がしりたいです。 よろしくお願いします。

みんなの回答

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.4

うっかり。No1の訂正です。テーブルのフィールドの名前を以下のように してください。No1の回答の最初の部分です。 テーブルの名前を tbl顧客 とします。フィールドは、 お客様コード(主キー)  テキスト型 お客様名         テキスト型 ふりがな         テキスト型 住所           テキスト型 電話番号         テキスト型 年令           テキスト型 など、としておきます。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

>(1)に関しては、全てです。 一般的な表形式の提案をしてみます。サブシート形式も 同じことではありますが。なお、単票形式はあれこれと 面倒なのでここでは割愛しておきます。(と言うよりも 回答が長くなるので。) テーブルの名前を tbl顧客 とします。フィールドは、 顧客ID(主キー) テキスト型 顧客名      テキスト型 ふりがな     テキスト型 住所       テキスト型 電話番号     テキスト型 年令       テキスト型 など、としておきます。 (1) フォームの新規作成から「オートフォーム表形式」を選択し、 「基になるテーブルまたはクエリの選択」で、「tbl顧客」 を選択し、OKとします。出来たフォームを仮に「F顧客名簿」 とします。 (2) 出来たフォームをデザインビューで開き、詳細のところに マウスのカーソルを当て、十字になったら右クリックして 下に3cmくらい下げます。残ったラベルも全て選択して 詳細にくっつけ保存します。 次に、フォームにコンボボックスを一つ、テキストボックスを 一つ、ボタンを二つ設定します。それぞれのプロパティから 名前を以下のようにします。 コンボボックス     cmb検索設定 テキストボックス    tx検索キーワード ボタン         cmd検索     (標題を検索) ボタン         cmd全件表示   (標題を全件表示) (3) コンボボックスのプロパティを開き、「値集合タイプ」を 「値リスト」にし、そこに "お客様コード";"お客様名";"電話番号";"ふりがな" を貼り付けてください。右クリックからズームを選択して 貼り付けてOKとしてもいいです。 (4) 次に、ボタンの「cmd検索」のプロパティからクリック時の イベントを選択し、右端をクリックし、「コードビルダ」を選択し コード表を以下のように設定してください。 Private Sub cmd検索_Click()   If Me!cmb検索設定 = "" Then Exit Sub   If Me!tx検索キーワード = "" Then Exit Sub   Select Case Me!cmb検索設定   Case "お客様コード"     'あいまい検索をするなら以下を     Me.Filter = "お客様コード Like ""*" & Me!tx検索キーワード & "*"""     '完全一致ならば以下     'Me.Filter = "お客様コード = "" & Me!tx検索キーワード & """     Me.FilterOn = True   Case "お客様名"     Me.Filter = "お客様名 Like ""*" & Me!tx検索キーワード & "*"""     Me.FilterOn = True   Case "電話番号"     Me.Filter = "電話番号 Like ""*" & Me!tx検索キーワード & "*"""     Me.FilterOn = True   Case "ふりがな"     Me.Filter = "ふりがな Like ""*" & Me!tx検索キーワード & "*"""     Me.FilterOn = True   Case Else     Me.FilterOn = False     Exit Sub   End Select End Sub (5) 次に、ボタンの「cmd全件表示」のクリック時のイベントを 以下のように設定してください。 Private Sub cmd全件表示_Click()   Me.FilterOn = False End Sub (6) 操作方法 コンボオックスで検索対象のフィールドを選択し、 テキストボックスの「tx検索キーワード」に入力 してボタンを押して検索します。 たとえば、「お客様コード」を検索する場合、 「お客様コード」が、ABC123BBAなどのような 場合、「あいまい検索」で行なうと、 テキストボックスに「ABC」と入れると「お客様コード」に 「ABC」が含まれるレコードを抽出します。もちろん、 「123」あるいは「C123BB」。 その他のフィールドの検索についても同じです。 (7) その他、(5)の操作はフィルタを解除して全件を表示する イベントです。 なお、「FilterOn」 や 「あいまい検索」については ネットやヘルプで確認しください。 わからないところがあれば、補足してください。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

日にちがたっていますが、解決しましたか。 もし、解決していないのであれば、 (1) 検索フォームは、単票フォーム、帳票フォーム、 サブフォームを持つ、のどれでしょうか。 (2) >お客様コード・お客様名(漢字・ふりがな)・電話番号 のなかで、お客様名(漢字・ふりがな)はテーブルには 漢字で書いたフィールドと、ふりがなのフィールドは 別々にあるということでいいですか。つまり お客様コード お客様名 ふりがな 電話番号 ・ ・ 住所 ・ ・ などのフィールドがあると考えていいでしょうか。

puchisakurannbo
質問者

補足

piroin654様 回答ありがとうございます。 他の作業をしていたのでまだ解決していなかったので助かります。 (1)に関しては、全てです。 (2)そのとおりです。 よろしくお願いします。

  • aoyama984
  • ベストアンサー率45% (253/561)
回答No.1

一つではできるのでしょうか コードのみ 名前のみ クエリでの条件の与え方だと思いますが 選択クエリは分かるでしょうか クエリ上で条件の設定はできるでしょうか

puchisakurannbo
質問者

補足

回答ありがとうございます。 >クエリ上で条件の設定はできるでしょうか なんとかわかりそうですが。。。