1

そのため、最初に Access テーブルをセットアップしたときに少しミスを犯し、それを修正するためのサポートが必要でした (できるだけ簡単に)。

私はLocations(小さなテーブル、数十行)と呼ばれる1つのテーブルとEncounter Data(大きなテーブル、100,000行)と呼ばれる別のテーブルを持っています。にEncounter Dataは、 を指すルックアップ列がありますLocations

私が犯した間違いは、列に主キーではなく場所名を保存することでした。Encounter Dataさて、明らかに、Locationsテーブルで特定のアイテムの名前を変更すると、ルックアップはEncounter Data失敗します。私が知っておくべきことは、主キーを保存することでした (その後、すべてのLocations情報を自由に編集できます)。

私はそれを修正します。

しかし、名前の代わりに新しい列に正しい ID を挿入する方法がわかりません。

私の考えは、単純に新しい列を追加し、ルックアップを正しく作成し(主キーを保存)、次のいずれかを行うことでした:[1]Encounter Data場所でソートし、Excelで一致するようにクイックドラッグ/オートフィルを実行します保存された名前で正しい ID を検索するか、[2] 検索/置換を実行します ... で値のみを検索しLocationWhoopsColumn、正しい ID を に入力しますLocationCorrectColumn

しかし、これらの方法はどちらも実現可能ではないようです。場所はほとんどありませんが、修正する行はたくさんあります...これをすばやく行うにはどうすればよいですか? 行ごとに手動で変更すると、数日ではないにしても数時間かかります。

ありがとう!~

4

2 に答える 2

2

で新しい列LocationIdを作成してEncounter Data実行します

UPDATE [Encounter Data] a INNER JOIN Locations b ON a.LocationName = b.Name
SET a.LocationId = b.id

結果を確認し、問題がなければ列 LocationName をドロップします。

于 2013-01-04T21:10:17.237 に答える
1

" ... LocationWhoopsColumn で値を検索し、LocationCorrectColumn に正しい ID を入力します"

ロケーション名フィールドと の一致に基づいて、DLookupから主キー値を取得するために使用します。 LocationsLocationWhoopsColumn

UPDATE YourBigTable
SET LocationCorrectColumn =
    DLookup(
        "pkey",
        "Locations",
        "location_name ='" & LocationWhoopsColumn & "'");

Locationsフィールド名として「pkey」と「location_name」を推測しました。あなたの実名に置き換えてください。

その更新は高速ではないかもしれませんが、これは 1 回だけ行う必要があるため、契約を破るものではないことを願っています。

于 2013-01-04T21:10:40.470 に答える