ここで初めて質問するときは、どうすれば改善できるか教えてください!私はすでにGoogleとStackOverflowを検索しましたが、Accessにまったく慣れていないので、おそらく正しい質問をしていません。
ヘルスケアアンケートのデータ入力フォームを作成しています。Y / N / Unkと答える必要のあるフィールドがいくつかあります。これらすべてのフィールドにデータ検証を適用したいと思います。畑は4ダースほどあるので、毎回手作業でやりたくないです。
例:
Y N Unk Symptom
[] [] [] Nausea
[] [] [] Vomiting
etc.
または、希望する回答(Y / N / Unk)を使用してテーブルを作成し、「Y / N」テーブルを参照するコンボボックスを適用して、この参照をデータ入力の多くのフィールドに一括で適用する方法はありますか。形?
私はAccessを初めて使用しますが、残念ながらVBAを知りません。
前もって感謝します!
宜しくお願いします
Tomalakが正しく言っているように、関係を使用することはこれを行う正しい方法です。ただし、Accessを初めて使用する場合は、次のことが役立つ場合があります。
最初に自分でテーブルを作成し、好きなように呼び出しますが、私の例ではYNUと呼んでいます。このテーブルに必要なフィールドは2つだけです。IDは整数であり、主キーである必要があり(必要に応じて自動番号を使用することもできます)、説明フィールドはショートテキストである必要があります。新しいテーブルを保存して開きます。次に、[説明]フィールドに「不明」、「はい」、「いいえ」の値を追加します。自動番号を使用した場合は、IDフィールドに値は必要ありません(Accessが自動的に提供します)。それ以外の場合は、自分で値を追加します(たとえば、それぞれ0、1、2)。
次に、デザインビューでPatientsテーブル(またはそれを呼び出すもの)を開き、吐き気、嘔吐などのデータ型がYNUのIDデータ型と同じであることを確認します(変更を加えた場合は保存します)。自動番号を使用した場合、データ型は長整数である必要があります。次に、[デザイン]タブで[関係]を選択します。テーブルの表示を使用して、YNUと患者を開きます。次に、IDフィールドをYNUテーブルからPatientsテーブルのNauseaフィールドにドラッグします。ポップアップダイアログが表示され、リレーションシップの動作を定義できます。Accessは、関係が「1対多」になることを自動的に認識していることに気付くでしょう。これは、吐き気の患者テーブルに不明/はい/いいえが多数あるが、YNUテーブルには不明なはいといいえがそれぞれ1つしかないためです。次に、[参照整合性を適用する]チェックボックスをオンにして、[作成]ボタンをクリックします。次に、もう一度[テーブルの表示]を使用して2番目のYNUテーブルを表示し、IDを[嘔吐]にドラッグします。必要な数のフィールドに対して繰り返します。各関係には、YNUテーブル用の新しいボックスが必要です。終了したら、リレーションシップレイアウトを保存して閉じます。
これで、Patientsテーブルに使用するフォームを設計するときに、ツールボックスからコンボボックスを選択できます。フォームにコンボボックスを描画すると、別のポップアップが表示されます。デフォルトの提案を受け入れ(コンボボックスで別のテーブルまたはクエリから値を取得したい)、[次へ]をクリックします。テーブルのリストからYNUを選択し、[次へ]をクリックします。次に、二重矢印ボタンを使用して、2つのフィールドIDと説明を右側の(空の)列に移動します。[次へ]をクリックし、最初の並べ替えで[ID]フィールドを選択して、[次へ]をクリックします。これで、Accessが自動的にキーフィールド(ID)の非表示を提案し、テーブルの値に基づいてコンボボックスの提案された幅を提供することがわかります。再度デフォルトを受け入れて、「次へ」をクリックします。次に、デフォルトを「このフィールドにその値を保存します:」に変更し、PatientsテーブルからNauseaフィールドを選択します。もう1つ次に、コンボボックスに適切なラベルを付けることができます。終了します。必要な数のコンボボックスについて繰り返します。
これを行うと、Accessがすべてのデータ検証を処理するようになります。3つの可能な値の1つのみを選択できます。
編集
コメントの後で、作成する関係が非常に多い場合、この方法で(ウィザードを使用して)実行すると時間がかかることに気付きました。この場合、DDL(データ定義言語)を介してそれを行うことができます。(クエリデザインを使用して)新しいクエリを作成します。何も選択せずに[テーブルの表示]ポップアップを閉じます。SQLビューに切り替えます(左上の大きなボタン)。これで、次のようなステートメントを入力して実行できるようになります([デザイン]タブで実行)。
ALTER TABLE Patients ADD CONSTRAINT FK_BrokenBones_YNU FOREIGN KEY (BrokenBones) REFERENCES YNU(Id)
関係が必要なフィールドごとに2つのことを変更するだけで済みます。最初に関係の名前(FK_BrokenBones_YNUの上)、次にフィールドの名前(BrokenBonesの上)。
技術的には、関係は制限であるため、DDLではそれはaでCONSTRAINT
あり、別のテーブルの主キーに基づいているため、という用語が使用されFOREIGN KEY
ます。
関係に付けた名前に関しては、以前に使用したものと同じでない限り、好きな名前を自由に使用できます。多くの人は、FKで始まり、それがaであることを象徴しFOREIGN KEY
、次に主キーが使用されるフィールドとテーブルの名前を含めるという慣習に従います。技術的にはFOREIGN KEY
、テーブルの主キーではないフィールドに基づいて作成できますが、この場合、一意のインデックスが存在する必要があります。私たちの場合、そのような微妙なことを気にする必要はありません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加