2

MS Access 2013 で、正規化されていないデータがかなりの量のデータベースに取り組んでおり、それらを代替テーブルに移動して、メイン テーブルのルックアップとして使用したいと考えています。しかし、ルックアップ列を作成すると、MS Access はデータを削除し、すべてのレコードを手動でリセットするにはデータが多すぎます。

Access 2013 で、データを失うことなくそのようなルックアップを作成する方法はありますか?

Access でルックアップ テーブルを使用することがいかに悪いことかについてコメントしないでください。私は以下のような投稿を読みましたが、そこにあるほとんどの点に同意しません。そのうちのいくつかは単に間違っています.

http://access.mvps.org/access/lookupfields.htm

以下は私のデータのサンプルです。2 番目と 3 番目のフィールドを他のテーブルに抽出する必要があります。私が彼らとこれを行うことができれば、私は他の人たちとそれを行うことができます.

ここに画像の説明を入力

現在、これはフィールドにテキストとして格納されています。それらを削除して、FK id に置き換えたいと思います。

4

1 に答える 1

1

2 番目のテーブルを作成し、データをテーブルに追加できます。次に、最初のテーブルを更新して、レコードを互いに一致させます

次のテーブルがあるとします。

CustOrders
ID       Customer     DateOrdered
123      K-Mart       01/01/2013
124      K Mart       01/05/2013
125      Walmart      02/05/2013
126      Walmart      03/07/2013
127      Miejers      03/11/2013
128      K-Mart       03/12/2013

Customers以下を実行することで、CustOrders表にあるすべてを見つけることができます。

SELECT DISTINCT Customer From CustOrders

次に、それぞれについて次の表にレコードを作成します。

Customers
ID       Customer
1        K-Mart
2        Walmart
3        Miejers

CustOrders次に、以下を実行してテーブルを更新できます。

UPDATE CustOrders SET Customer = 1 WHERE Customer = 'K-Mart' OR Customer = 'K Mart'

もちろん、これは、顧客ごとに行う必要があります。

次に、必要に応じて、テーブルCustomer内のフィールドのデータ型を に変更できます。CustOrdersLong Integer

最後に、次のエントリ/編集フォームにコンボ ボックスを作成しますRowSource

SELECT ID, Customer FROM Customers ORDER BY Customer

コンボ ボックスをリストから制限し、列 1 にバインドするように設定します。

于 2013-10-28T00:43:37.027 に答える