• ベストアンサー

Accessで1つのフィールドに複数の選択肢を設ける

Funatarouの回答

回答No.6

>具体的に意味がよくわからないのです・・・ 具体的に言うと下記のようになります。 わかり易くするため、あえて主キーとなるコードを一部省いてますが・・・ <従業員テーブル> 名前   年齢  住所  Aさん  20   ○○町~~ Bさん  27   ××市~~ Cさん  35   △△村~~ ・・・   <シフトテーブル> 名前  勤務コード Aさん パターン1 Aさん パターン2 Bさん パターン1 Cさん パターン1 Cさん パターン3 ・・・ <勤務パターンテーブル> 勤務コード 時間 パターン1 09:00~12:00 パターン2 12:00~15:00 パターン3 15:00~18:00 ・・・ 上記の場合、<従業員テーブル>一人に対して<シフトテーブル>で複数の勤務パターンが存在しています(1対多)。 一人当たりの勤務パターンが増えても減っても<シフトテーブル>のレコード追加/削除でメンテできます。 検索条件はシフトテーブルの勤務コードフィールドに対して条件を指定します。 例えば09:00~の従業員を抽出したい場合は条件をパターン1で検索すればいいわけです。 多分これがいわゆる教科書どおりの作りだと思われます。 「テーブルの正規化」で検索しましょう。 こんな感じの参考ページが見つかると思います。

flyngsword
質問者

補足

ありがとうございます。 なるほど、こうすれば確かに便利ですね・・・データ量も減りますし。 自分としては たとえば、「パターンAが3月~6月 Bが4月~10月だったとして5月に当てはまるものを探すことができる」ようにしたいと思っています。 そのためには「3月~6月に3,4,5,6月が含まれること」を理解させる必要があるので、相当難しくなってきますよね。(素人見解ですが) 自分が想定しているのは・・ 植物の名前、種植え~開花までの期間を登録した簡単なデータベースを作るとします。 ○○草 3月~9月 ○○花 10月~3月 △△草 2月~5月・8月~10月 のように複数の植物を登録していき、4月を検索して、当てはまる植物の一覧を参照できる形です。(登録されていないものは表示しない)

関連するQ&A

  • Access コンボボックスの複数選択

    Access2007を勉強中の初心者です。 「空白のフォーム」から作成したコンボボックスで、複数選択が可能になるような設定はありませんか? テーブル項目の「ルックアップ」「複数の値を許可」を許したテーブルから作成したフォームでは、コンボボックスで複数の値を選択可能になりますが、「空白のフォーム」から作成した場合にはできないのでしょうか。 リストボックスではスペースをとってしまう為、コンボボックスで行いたいです。 言葉足らずな内容かもしれませんし、大変お手数をおかけしますが、よろしくお願いいたします。

  • 複数選択するとテーブルに反映されなくなります

    ソフトはACCESS2000です。 フォームでの入力で、リストボックスから複数選択できるようにしているのですが、そうすると、元のテーブルへ選択したデータが反映されません。 複数選択をしないにすれば、問題なく反映されます。 そもそも、複数選択で、1つのフィールドに反映させることはできないのでしょうか。 いや、そんなことない、できる、なら、どこをどうすれば良いでしょうか。 ※お礼は月曜以降になりますが、よろしくお願いいたします。

  • Access クエリの最大項目数

    教えてください。 開発環境はAccess97です。 複数テーブルを互いに結合し、一つの選択クエリー[A]を 作成した後、フォーム[B]に関連付けて[B]上のテキスト ボックスで[A]のデータを表示したいと思います。 (一つのテキストボックスは一つの項目を表示する) 選択クエリーのフィールド数は最大128個までしか 設定できないと思うのですが、 フォーム[B]に一度に300個程度のデータを表示するには どうすればよいのでしょうか? サブフォームを使用せずにこれを実現することは可能でしょうか?

  • Accessのフォームについて教えて下さい

    Access 2010のフォームについてお教え下さい。 テーブルにはテーブル名T1、フィールド「ID」、「Price」というテキストボックス。2フィールドがあります。 テーブルの各データは、 ID,Price 001,100 002,200 003,300 フォームにはにフォーム名F1、「cmb」というコンボボックスと、「price」というテキストボックスが配置されています。 「cmb」のデータは値集合ソースで、「SELECT T1.ID FROM T1;」と指定しています。 「cmb」で選択したデータのプライスを「Price」テキストボックスに表示したいと思います。 例えば、「001」を選択したら、「100」と表示されるようにしたいと思います。 色々調べているのですが、どうやってやるのかわかりません。どのように実現したらよろしいでしょうか? よろしくお願いいたします。

  • ACCESSフォームのリストボックスでレコードが選択できない

    ACCESS2000です。 フォームの左側に親テーブルのフィールド1の値を選択させるリストボックスがあり、そこで選択したレコードにリンクする子テーブルのレコードをフォームの右側にサブフォームで表示させたいのですが、リストボックスでレコードを選択できません(クリックしても反転しません)。でもレコード移動ボタンを押すと、リストボックス内の該当レコードがちゃんと反転し、右側のサブフォームにも正しく反映します。 リストボックスのプロパティはくまなく見ましたがそれらしい設定項目はみつかりませんでした。どこを直せばよいのでしょうか。

  • access チェックボックスを複数選択

    超初心者です。よろしくお願いします。VBAの知識もほとんどありません。 個人情報の趣味の選択をチェックする項目を作る前提で話します。 顧客テーブルの中に(氏名、住所、電話、趣味選択)があるとして、趣味選択と以下のT-趣味とはリレーションシップでつながれているとします。 テーブル:T-趣味 趣味ID  趣味     データ型:テキスト S-1    音楽 S-2    スポーツ S-3    読書 S-4    アウトドア S-5    旅行 としたとき、テーブルからテキストデータ(音楽、スポーツ、…)を抽出してチェックボックスを作ることは可能でしょうか。 またそれを複数選択して顧客テーブルの趣味選択のフィールドにデータ(ex:読書、旅行)を入力することは可能でしょうか。 よろしくお願いします。

  • アクセスのフォームに乗っけられるフィールドは216

    アクセスのフォームに乗っけられるフィールドは216個? アクセス2010で、テーブルのフィールドは250個近くあります。 そのテーブルを元に、単表フォームを作ろうとウィザードを立ち上げたのですが どうしても216個目で「フォームを作成できません」になります。 フィールド名がおかしいのかな?と、216個目のフィールド名を適当な文字に変えてみましたが やはりエラーになります。 ヘルプ等にこのような記載はあるのでしょうか? 探せませんでした。

  • Access97のフォーム(リストボックス)について

    Access97のフォームについてです。リストボックスで複数選択設定した場合,その選択項目をテーブルに反映させる方法を教えて下さい。

  • アクセスのフォームのデザインビューで新しい項目が、フィールドリストに表示されない。

    テーブルに新しい項目を追加しました。(チェックボックス)。 クリエの方にも追加しました。 しかし、フォームに追加しようと、フィールドリストを参照したところ、新しい項目が表示されてません。 どのようにしたら新しい項目が表示されますでしょうか? よろしくお願いします。

  • ACCESSの複数フィールドの検索

    私がしたい事はおそらくかなり初歩的なことと類推されますので、がっくりされないようにお願いします。 「報告書」のテーブルがあります。 その報告書のフィールドは 報告日 報告者氏名 A店の感想 B店の感想 C店の感想 となっていると考えてください。 このテーブルをもとに、表形式で一覧の出るフォームを作っており、この一覧のフォームフッターにテキストボックスがあります。 このテキストボックスに例えば「D商品」と入力してエンターを押すと「A店の感想 B店の感想 C店の感想」中に「D商品」が出てくるレコードすべてが抽出されるというようにしたいと思っています。 1つのフィールドでのやり方がとあるサイトにあったので、私は Private Sub テキスト28_AfterUpdate() Me.Filter = "A店の感想 like'*" & Me!テキスト28 & "*'" Me.FilterOn = True End Sub という式を作成しました。 これだと「A店の感想」フィールドにキーワードがあればヒットしますが、B店、C店にキーワードがあってもA店にキーワードが無ければ反応はありません。 これを3つのフィールドで出来るようにいくつか試してみましたがどれも失敗でした。 どのようにすれば、複数フィールドのキーワード検索・抽出が出来るのでしょうか。 私の取ったやり方に近いもの、別の全然違うやり方、ともに勉強になるので色々教えてください。 それと、これでも結構検索したのですが、検索ワードが不適切なのか、ありそうなニーズにも関わらずぴったりくるものを見つけられませんでした。 もしよければACCESSをわかりやすく学習出来るサイトを教えてください。有名そうなところをいくつかは知っております。