• ベストアンサー

プルダウンで選択した値しか投入できないようにしたい

アクセス2010です。 テーブルのフィールド1の値は、 1 2 3 の3つの値しか入力できないようにしたいです。 そして、その3つの値はプルダウンで選択したいです。 それをするにはどうすればいいでしょうか? 入力規則を使えばできるかな?と思い、デザインの入力規則の右側のボタンをクリックしたら 式ビルダーというのが出ましたが、どういう式を作ればいいのかわかりません。 もしくは、ルックアップでコンボボックスを選択すればいいのでしょうか? しかし、値集合ソースに何を入れればいいのかわかりません。 よろしくお願いします。

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

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (295/459)
回答No.1

ルックアップで 表示コントロール : コンボボックス 値集合タイプ : 値リスト 値集合ソース : 1;2;3 入力チェック : はい 値リストの編集の許可 : いいえ 3つくらいで固定値なら上記でよいでしょう。 条件が多かったり、しばしば変更されるものなら 値集合タイプを 「テーブル/クエリ」 にして テーブルを作成して、条件のデータを入力、 そのテーブル名を 「値集合ソース」に。

kcdlcjlja8
質問者

お礼

ありがとうございました。

関連するQ&A

  • ACCESS.ルックアップの値以外を受け付けないようにしたい。

    ACCESS2007を使用しています。 テーブルのフィールド設定でルックアップを設定しています。 表示コントロール:コンボボックス 値集合タイプ:値リスト ここで、値集合ソースにリストしたもの以外はテーブルに格納されないように したいのですが、可能でしょうか? 「入力チェック」を「YES」にしているのですが、 この場合でもテーブルでの直接入力やフォームを使用しての入力ではエラーがでますが、 Excelからの複数セルまとめてのコピー&貼り付けを行うと貼り付けられてしまいます。 解決する方法がありましたら教えてください。

  • アクセスのテーブルに入力規則を設置したい

    アクセスのテーブルに入力規則を設置したいのですが デザインビューのルックアップタブの 表示コントロールをコンボ ボックス 値集合タイプを値リスト 値集合ソースを:10;;20;;30 にしました。 これで、テーブルビューで値を入れる時に、10と20と30から選択できるようになりましたが この3つの数字以外は入力できないようにしたいです。 再度デザインビューで、入力規則という項目を見つけましたが このような場合、どういう指揮を作ればいいでしょうか?

  • 同一値集合ソースの複数コンボボックスでプルダウンメニューに既入力値を再表示させない

    まだ6ヶ月程度のAccess初心者です。データ入力上の誤入力を避けたいのですが方法がわからず悩んでいます。初心者で、未だ基本的な理解ができていないためだと思いますが、どなたか解決法をご教授いただければありがたく存じます。  1つのフォーム上に複数のコンボボックスを用意して、同じ値集合ソース(テーブル)を参照して入力をしようとしています。  このとき、まず、コンボボックス1に、参照しているテーブルから”DATA1”という値を入力したとき、次のコンボボックス2のプルダウンメニューには、先の”DATA1”を表示しないように、SQLステートメント:クエリビルダの抽出条件を設定しようと考えています。  このフォームにはコンボボックスを全部で4つ用意して、順次入力の都度、入力済みのデータはプルダウンメニューに表示しないようにし、重複を避けたいというのが目的です。    コンボボックス2の値集合ソースとして設定する際に、SQLステートメント:クエリビルダの抽出条件に記載したものは次のようなものです。 <>[Forms]![フォーム1]![コンボボックス1]  And  <> [Forms]![フォーム1]![コンボボックス3]  And  <>[Forms]![フォーム1]![コンボボックス4]  ほかのコンボボックス3~4にも、自分以外のコンボボックスと重複させないつもりで、それぞれ抽出条件を入力しました。  さて、実際にこれで動かしてみると、1回目はうまくいって喜んだのですが、入力値をDeleteして再入力を試みたところ、リストボックスが何も表示されない状態になり、悩んでいます。  何か設定上で不足している、あるいは論理上で考え違いをしているのだと思いますが、何とか解決したいと切に思っています。何卒よろしくお願いします。

  • MS ACCESS2000で値集合ソースを書き換えないように。

    あるレコードのあるフィールドに、他のテーブルを値集合ソースとして、コンボボックスを設定しました。 あるとき、このフィールドの値を書き換えようとしたら、値集合ソースのテーブルのレコードを書き換えてしまいました。この値集合ソースを書き換えないようにするにはどうしたらいいでしょうか?

  • コンボボックスの値が消えてしまいます。

    コンボボックスの値が消えてしまいます。 フォーム(1)にコンボボックスA(値集合ソースはテーブル1)があります、この リスト外入力時で別フォーム(2)(レコード追加用)を開きテーブル1にレコードを追加、 フォーム(2)を閉じる時にコンボボックスAをリクエリかけてフォーム(1)に戻るとコンボボックスAが空になっているのでリストを開き選択し直さなければいけません! フォーム(1)に戻った時コンボボックスAに入力した値を選択させておくにはどの様にすれば良いか アドバイスよろしくお願いいたします。 WIN XP ACCESS 2003で作成しています。

  • 【Access】コンボボックスの値の変更方法

    フォームにコンボボックスを配置し、下記の動作をさせたいと思ったのですが、1は出来たものの2が出来ませんでした(値集合ソースの中身は表示されるものの、選択してもコンボボックスに反映されませんでした)。 1. フォームオープン・・・データベースのcmb1の値より、対応する文字をコンボボックスに表示する。 2. コンボボックスの値の変更・・・プルダウンから値集合ソースに表示されている任意の値を選択し、コンボボックスに設定する。 その為、どうすれば値を変更できるようになるかアドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします。 なお、初期状態から下記を変更しております。 【テーブル】 テーブル名:tbl フィールド名:ID,cmb1 値:1,2 【フォーム】 フォーム名:form1(コンボボックスを一つ配置) フォームのレコードソース:SELECT Choose(tbl.cmb1,"A","B","C") AS nm_cmb FROM tbl WHERE (((tbl.ID)=1)); コンボボックス 列数:2 列幅:0cm;3cm コントロールソース:nm_cmb 値集合タイプ:値リスト 値集合ソース:1;A;2;B;3;C 連結列:2 上記の状態で起動時のコンボボックスの中身は"B"と表示されるものの、コンボボックスのプルダウンメニューを表示して値を変更しようとしても出来ない事が確認できると思います。 以上、よろしくお願いします。

  • クエリの条件式に複数のコンボBoxの値を参照させるには?

    コンボボックスで選択された値を元に選択を行わせるクエリを作成しています。 ですがある特定のコンボボックスからの値でなく、複数のコンボボックスの値を組み合わせて選択を行うのはどの様にしたら良いのでしょうか? テーブル名:テーブル1 クエリ名:選択クエリ1 選択の元になるフィールドはテーブル1内の[時刻]フィールドです。 ここは日付/時刻型になっており、表示形式は[YYYY/MM/DD HH:MM:SS]です。 この部分である範囲の選択を行いたいのですが、それの元となるコンボボックスを年/月/日/時/分/(秒)に分けたいと考えています。 (秒は無くても良い) 通常コンボボックスの値を参照する際は Like [Forms]![フォーム名]![コンボボックス名] という条件式を使いますが、複数のコンボボックスの値を組み合わせる場合はどのように記述したら良いのでしょうか? またクエリのデザインビューで出来ない場合はモジュールでの記述方法をご教授頂けるとありがたいです。 よろしくお願いいたします。

  • Accessで任意のテーブルをひとつ表示させたいのですが…

    行いたい事は、年と月ごとに作成されている「テーブル」を表示させたいという事です。任意のテーブルをひとつ表示させることができればよいのです。 コンボボックスを作成することにし、任意のテーブルをひとつ選択・表示させることを考えました。「値集合ソース」を「テーブル/クエリ」に設定し、「値集合タイプ」を先述のテーブルの任意のテーブルのひとつを設定し、マクロビルダの「アクション」に「テーブルを開く」とし、テーブル名入力欄に「値集合タイプ」で設定したテーブル名を設定しました。確かにこのテーブルは表示されますが、 (1)コンボボックスの、選択を促す下矢印を押下すると表示させたいフィールドがテーブルの左から2番目にあるのですが、このフィールドではなく最初のフィールド(オートナンバー)が表示されてしまう。 (2)コンボボックス内は空欄であって欲しいのに、選択したオートナンバーが黒の反転点滅表示してしまう。 (3)一番行いたい、任意の年と月で作成されたテーブルを選択させる表示ができない。 と、以上が現状です。 良きアドバイスをお待ちしております。 宜しくお願い申し上げます。

  • コンボボックスの2列目の値を表示させる方法はありま

    アクセス2003です。 コンボボックスの2列目の値を表示させる方法はありますか? テーブル1には ID 会社名 1 山田建設 2 田中株式会社 といれ、 テーブル1をレコードソースとするフォームを作り、コンボボックスを設置し そのコンボボックスのプロパティは 値集合タイプ:テーブル/クエリ 値集合ソース:テーブル1 列数:2 にしました。 この場合、コンボボックスで値を選択した後は、一番左側の数字がコンボボックスに入力されますが 左から2列目の値を表示させる方法はありますか? IDと会社名のフィールドを順番を変えることなく、IDが左、会社名が右にしたいです。 エクセルで例えると http://www.moug.net/tech/exvba/0090021.html と同じようなことをアクセスで行いたいです。 プロパティではなくエクセルのようにVBAで配列を使うしかないのでしょうか?(コードもわかりませんが) よろしくお願い致します。

  • Accessのコンボボックスでリストが選択できない

    いつもお世話になっております、ありがとうございます。 コンボボックス1で部署名を選択し、 コンボボックス2でその部署の社員の名前を選択するようなフォームがあります。 コンボボックス1の値集合ソースで社員テーブルの一覧を参照し、 部署名のフィールドでグループ化して選択できるようになっています。 このとき、なぜかコンボボックス2では最上段にリスト化された社員名しか 選択できなくなります。 画面上では全員がリストとして見えているのに、 リストの2番目以降をクリックしても、一番上の社員しか入力されません。 プロパティで何か変な制約がかかっているのでしょうか? どなたかお分かりになる方がいらっしゃいましたら教えてください。 どうぞよろしくお願いします。

専門家に質問してみよう