• ベストアンサー

Access 数十件のデータからの入力を簡単にしたい

いつもお世話になっております。 Accessで施設利用状況の管理を行っています。 予約があると「利用テーブル」に「利用者」や「利用会議室」「人数」等を入力します。 「利用者」フィールドは「利用者マスター」とリレーションを組んであり、「利用者マスター」に登録してある数十件から選ぶ形をとっているのですが、登録してある中から該当者を見つけるのに苦労しています。 別フィールドを設け、「あ」「か」というような頭文字を入力した時、その登録者から絞り込んでいけるようにしたいのですが、どうすればよいか教えて下さい。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>別フィールドを設け・・頭文字を入力した時その登録者から絞り込んでいけるようにしたいのですが 利用者マスターにふりがなのフィールドを作りフォームの利用者のコントロールをコンボボックスにして値集合ソースに利用者マスターを設定しふりがなで昇順にソートする。 コンボボックスは表示は2列にしてふりがな・利用者の順にすればコンボボックスを開き先頭文字を入力していくとコンボ内のレコードが移動して表示してくれます。 別の方法として 頭文字を表示するコンボボックスとそのコンボボックスの値を使って利用者のコンボボックスやリストボックスに絞込みをかけることも出来ます。 これは頭文字コンボボックスは「あ」~「ん」までの文字を設定しておき利用者のコンボボックスの値集合ソースのふりがなに抽出条件を =Me![頭文字コンボボックス] または =[Forms]![フォーム名]![頭文字コンボボックス] のように抽出条件をつけておき頭文字コンボボックスの更新後処理のイベントで Me![利用者コンボボックス].Requery として頭文字コンボボックスの値を使って利用者コンボボックスのレコードを抽出した状態に出来ます。

hasmiya
質問者

補足

いつも丁寧で正確なアドバイスありがとうございます。 アドバイスいただいた方法を試してみました。 2つの方法がありますが、使い勝手を考え後述の方法(コンボボックス利用の方法)でいきたいと思います。 アドバイス通り設定しているのですが、アドバイス欄の下から7行目あたりがうまくいきません。 抽出条件に =Me![頭文字コンボボックス] と入力すると =[Me]![頭文字コンボボックス] になり、フォームを表示させるとパラメータ入力画面が出てきます。 =[Forms]![フォーム名]![頭文字コンボボックス]だとエラーが出ます。 何がダメなのでしょうか?教えて下さい。

その他の回答 (3)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

>=[Forms]![フォーム名]![頭文字コンボボックス] をどこに設定しているのでしょうか。 'Me!利用者'マクロを見つけることができません。マクロが存在しないか、新規マクロが保存されていません。 SQLステートメントで設定されていれば出ないエラーなのですが・・。 値集合ソースに直接=[Forms]![フォーム名]![頭文字コンボボックス]としているわけではないですよね。 すいません。状況がイマイチ把握できません。

hasmiya
質問者

補足

何度もありがとうございます。本当に感謝しております。 アドバイスの件ですが、「新規入力フォーム」があり、そこに「利用者」と「頭文字・・・」というコンボボックスを設定してあります。 =[Forms]![新規入力フォーム]![頭文字コンボボックス] として、「利用者」コンボボックスの値集合ソースのSQLステートメント:クエリビルダで「利用者マスター」の「ふりがな」と「利用者名」フィールドを設定し、「ふりがな」フィールドの抽出条件部分に記述しました。 厚かましいのを承知で質問させて下さい。上記方法の逃げ道として、 =Me![頭文字コンボボックス]が [Me]![頭文字コンボボックス]にならない方法はないのでしょうか? よろしくお願いします。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

>抽出条件に=Me![頭文字コンボボックス]と入力すると =[Me]![頭文字コンボボックス]になり、フォームを表示させるとパラメータ入力画面が出てきます。=[Forms]![フォーム名]![頭文字コンボボックス]だとエラーが出ます。 =[Me]![頭文字コンボボックス]になるという事は頭文字コンボボックスを取得できないという事ですね。 =[Forms]![フォーム名]![頭文字コンボボックス]のエラーは何とでるのでしょうか。 抽出条件をいれるのは値集合ソースをSQLステートメントを開きふりがなの抽出条件に入れてください。 ふりがなの入力が「あ」などの1文字ならそれで出来るはずなのですが・・。 ふりがなを1文字ではなく全て入力している場合は抽出条件に =LIKE [頭文字コンボボックス] & "*" で先頭一致で抽出出来ます。 SQLビューでは SELECT [利用者マスター].ふりがな, [利用者マスター].利用者 FROM [利用者マスター] WHERE ((([利用者マスター].ふりがな) Like [Forms]![フォーム名]![頭文字コンボボックス] & "*")) ORDER BY [利用者マスター].ふりがな; こんな感じになるはずなのですが。

hasmiya
質問者

補足

早速のアドバイスありがとうございます。 =[Forms]![フォーム名]![頭文字コンボボックス] の方法ですと、フォームを表示させ頭文字のコンボボックスで何かを選択した時に 'Me!利用者'マクロを見つけることができません。 マクロが存在しないか、新規マクロが保存されていません と出ます。

  • tarodaro
  • ベストアンサー率43% (7/16)
回答No.1

「利用者マスター」に「ふりがな」のフィールドが必要 フォームが単票形式なら、動的な絞込みも出来ますが >数十件から選ぶ 程度であれば、単純にリストを50音順に並べるだけでいいのでは? フォームをデザインモードで開き、「利用者」のコンボ(?)のプロパティの 値集合ソースをポイント、右端の「...」を押せばクエリデザイナが表示されるので ふりがなで並べ替えるように変更しましょう

関連するQ&A

  • ACCESSのデータ入力

    access2000です。 本を読んでデータベースを作ろうとしているのですが テーブルで、入力したいフィールドの名称を登録して フォームで入力画面を作りました。 これでは フォームに入力したデータは左上にある▲みたいなものを押さないと登録されないようです。 フォーム上に大きなボタンでテーブルに登録したいです。 本には載っていないのですが どうすればいいのでしょうか?

  • Accessのデーター入力について。

    こんにちわ! またまた困っています(T-T) アクセスのテーブルで、ひとつフィールドを増やしたのですが そのフィールドには、全部同じデーターが入る事になっています。 データーがすでに500件あるので、 いっきに全部入力したいのですが、 なにか良い方法はないでしょうか・・。 どなたかお願いします。m(_ _)m!

  • Access クエリを元にクエリを作るとデータがうまく表示されません

    いつもお世話になっています。 下のようなデータがあったとします。 施設データは「施設マスタ」として別テーブルがあり、リレーションでつながっています。「利用者マスタ」も同様です。 日付 |  施設名 | 利用者 ________________ 4/1|  会議室 | 東京商事 ________________ 4/1|  和室  | 大阪電機 ________________ 4/1|  ホール | 名古屋運輸 ________________ 4/2|  和室  | 東北旅行 ________________ 4/2|  ホール | 東北旅行 クエリで日ごとの各施設の使用者を下の表のように把握したいのです。 日付 | ホール  | 和室  | 会議室 ______________________ 4/1| 名古屋運輸|大阪電機 | 東京商事 _______________________ 4/2|東北旅行  |     | 東北旅行       ↑ ↑の部分は「利用者マスタ」の「利用者」フィールドをはめ込みました。そこの抽出条件に「施設」="ホール"というような書き方すればいいのかと思いましたが、うまくいきません。 どのように記述すればよいか教えてください。 また、根本的に考え方が違う場合にはご指摘ください よろしくお願いします。       

  • accessのクエリで入力が不可能…

    【テーブルA】 フィールド1〔数値型〕 フィールド2〔テキスト型〕 フィールド3〔テキスト型〕 フィールド4〔数値型〕 【テーブルB】 フィールド1〔数値型〕 フィールド2〔テキスト型〕 フィールド3〔数値型〕 フィールド4〔テキスト型〕 となっています。 両方のテーブルを使い、クエリを作成しました。 リレーションが、テーブルAのフィールド1と、テーブルBのフィールド3に設定してあります。 このようにして作成したクエリでデータの入力ができません。 なぜでしょうか? Access2000です。

  • Access2007でテーブルのデータ入力で

    Access2007でテーブルのデータ入力で”単価”の項目に教本通りに「18000」と入力したら、 以下のエラーが出ました。 「"T商品マスター,単価"に設定されたいる入力規則'0'に違反する値が1つ以上あります。 このフィールドの式で使用できる値を入力してください。」  以上ですが!  どうしたら、教本通りに「\18,000」と入力ができますか?    よろしくお願いします。

  • アクセスVBA テキストボックス入力値からの参照

    マイクロソフトアクセス初心者です。 現在、アクセスでデータベースを作成しています。 2つのフォーム(フォーム(1)、フォーム(2))、2つのテーブル(入力情報、マスタ)、2つのテーブルをもとにした1つのレポートを作成しています。 『フォーム(1)』のテキストボックスAに入力された値を、Dlookup関数で『フォーム(2)』のテキストボックスBに数値を参照しています。 『フォーム(2)』のテキストボックスに表示された値を、『フォーム(2)』に設置されたコマンドボタンをクリックすると、VBAで『テーブル入力情報』のフィールドAに入力されるようにしています。フィールドAについてのマスタとなるテーブルが『テーブルマスタ』です。 リレーションシップを設定せず、ただ単に値を入力することは出来るのですが、レポートを作成するにあたって、『テーブル入力情報』と『テーブルマスタ』のフィールドAに1(テーブルマスタ)対多(テーブル入力情報)のリレーションシップを設定したいと思っています。 リレーションシップを設定し、テキストボックスBに表示された数値を『テーブル入力情報』に入力する際、『テーブルマスタ』から該当するデータを選択して『テーブル入力情報』に入力されるようにしたいと思うのですが、現状では、リレーションシップを設定すると、入力値が真っ白になってしまい、レポートにも入力したデータが反映されません。 ちなみに、入力する際はフィールドA=Me.テキストボックスBのようにしています。 何か良い解決策がありましたら、是非教えていただけませんでしょうか? 分かり難い文章かと思いますが、どうぞ宜しくお願い申し上げます。

  • アクセスのデータ入力について

    アクセスのテーブルの入力で同じフィールドへ同じデータを繰り返し入力する項目(日付など)があるのですが、1回だけ入力して他のレコードに反映させることはできないものでしょうか?解答よろしくお願い致します。

  • ACCESS2003のテーブル入力について

    いつもこちらでお世話になっております。よろしくお願いいたします。 マイクロソフトアクセス2003にて、No.と項目名という2つのフィールドから成り立つテーブルがあります。 そのテーブルにはあらかじめデータがはいっています。 新規にそのテーブルに追加する項目が出来たとき、新規入力用のフォームを作成しました。 その時のNo.のフィールドなのですが、自動的にもともとあるテーブルの番号に無いものを規定値として表示させておくようにするには、どのようにしたらよいでしょうか? 例) 1、2、3、5があれば、4を 1、2、3、4があれば5を よろしくおねがいします。 もうひとつ質問なのですが、納品書を入力していくデーターを作成しているのですが、納品書のテーブルがあり、リレーションで項目や会社名などを関連テーブルとしています。 あらかじめ会社名や項目名のテーブルに入力されていない新規の会社の納品書を打ち込む場合、納品書テーブル入力フォームに、入力しただけで、項目名のテーブルや会社名のテーブルに追加されていく方法はありますでしょうか?

  • フォームの作り方 アクセス2000

    アクセス2000を使い始めた初心者です。 顧客群に関するテーブルAがすでにあります。 このテーブルは事情があって、フィールドを追加することはできません。 もうひとつのテーブルBを作って、こちらに情報を追加するためのフィールドをいくつか作ります。 やりたいことは、 入力用のフォームに、テーブルAの情報内容を表示させて、テーブルBの入力をしたいのです。 クエリを作ってリレーションを設定するのだろうと思うのですが、具体的に進め方がわかりません。 よろしくお願いします。

  • Accessの集計、0件のデータを表示させるには?

    Accessで選択クエリの集計を作りたいのですが…。 例えば、誰が何の質問を受けたか、というような、以下のようなテーブルがあるとします。 【A:データテーブル】 Aさん 数学 Aさん 理科 Bさん 社会 Aさん 理科 Bさん 理科 【B:教科マスター】 1 数学 2 社会 3 理科 AとBはリレーションでむすんで?あります。 で、Aテーブルを元に集計を使って以下のようにしたいのです。 Aさん 理科 2件 Aさん 数学 1件 Aさん 社会 0件 Aさんだけを抽出するのは、「抽出条件」で絞ればいいと思います。 教科のそれぞれの件数を出すには、「集計」で教科ごとにグループ化して教科をカウントすればいいと思うのですが、どうしても0(ゼロ)件のデータが出てきません。(上記の例で言うと、「Aさん 社会 0件」が出ない) 0を表示させるにはどこに何を書いたらいいのでしょうか?

専門家に質問してみよう