テーブルを使用します。 IF文を使用する際の問題は、新しい動物を追加したり価格を変更したりするときに、テーブルに新しい動物とコストを追加するだけでコードを書き直す必要があることです。
tbl_Pets
というテーブルを作成します。 PetID
をAutoNumber
プライマリキーとして追加しました.PetNameは重複を許可しないように索引付けされています。PetCost
には通貨データ型があります。
![enter image description here](https://i.stack.imgur.com/nYbXV.png)
次は、フォームを作成してコンボボックスを追加します。
ウィザードを使用する場合:コンボボックスにテーブルから値を取得し(tbl_Pets)、すべてのフィールドをコンボボックスに追加してキー列を非表示にします。
あなたのコンボボックスがCombo0呼び出された場合(フォームにテキストボックスを追加し、そのControl Source
=[Combo0].[Column](2)
に設定してください。
を これは、3番目の列から値を返します(最初の列は、インデックス番号0である)
![enter image description here](https://i.stack.imgur.com/Key5O.png)
または
二つのフィールドにコンボボックスを追加します - 。PetID
とPetName
は、テキストボックスを追加し、それにを与えますの
=DLookUp('PetCost','tbl_Pets','PetID=' & [Combo0])
- これは、コンボボックスの隠しコラムのIDに基づいてコストを検索します。
![enter image description here](https://i.stack.imgur.com/LYjTj.png)
新しいペットや価格を追加することは問題ではないと思われますが、この方法をお勧めしますか? –
私はそう思っていましたが、私は約二十年後に「心配しないでください。しかし、テーブルを参照するのではなく、フォーム上にそのままにしておきたいなら、 '= Switch([pet] = 'Snake'、15、[pet] = 'Lizard'、10)'をコントロールソースとして使うことができますテキストボックス( 'pet'というコンボボックス) –