FredRandomのブログ

1000カラム程度のデータ処理の方法を調べたときのメモです。ほとんどChatGPTの回答そのままなので、環境によってはうまく動作しないこともあります(幻覚もあります(;^_^A))。Windows環境です。AccessVBAが多いですが、EmEditor、ExcelVBA、PowerQuery、CMD、PowerShellとかの利用もあります。

2つの住所録をマージ(更新日付は不定形)

 

「更新日付が文字列」「自動判定が難しい」場合、目視選択+チェックフィールド方式が最も信頼性が高いです。

 

✅ 目的の再整理

 

datasetA, datasetB を「名前」で照合(JOIN)

 

両方の「住所」「更新日付」「備考」を並べて表示

 

人間が見て「どちらを採用するか」をチェックしたい

 

チェックボックス付きの編集可能テーブルにしたい

 

 

 

---

 

✅ 最も自然で安全なAccessの設計手順

 

手順 1:比較クエリを作る

 

まず、A/Bの内容を1行で並べる比較クエリを作ります。

例:

 

-- A側(Aがある行:Aをベースに表示)

SELECT

    A.id AS 統合ID,

    A.名前 AS 名前,

    A.住所 AS 住所_A,

    B.住所 AS 住所_B,

    A.更新日付 AS 更新日付_A,

    B.更新日付 AS 更新日付_B,

    A.更新備考 AS 更新備考_A,

    B.更新備考 AS 更新備考_B

FROM

    (T_A A LEFT JOIN T_B B ON A.名前 = B.名前)

 

UNION

 

-- Bにしかない行(Aに存在しない名前)

SELECT

    B.id AS 統合ID,

    B.名前 AS 名前,

    Null AS 住所_A,

    B.住所 AS 住所_B,

    Null AS 更新日付_A,

    B.更新日付 AS 更新日付_B,

    Null AS 更新備考_A,

    B.更新備考 AS 更新備考_B

FROM

    T_B B LEFT JOIN T_A A ON B.名前 = A.名前

WHERE

    A.名前 IS NULL;

 

👉 これで「名前ごとにAとBの値を横並び」にできます。

 

 

---

 

手順 2:このクエリ結果を一度「テーブル化」する

 

1. クエリを保存(例:Q_比較結果)

 

 

2. 右クリック → 「選択クエリを作成クエリに変更」

 

 

3. 出力先を「T_統合候補」として実テーブル化

 

 

 

これで「T_統合候補」という編集可能な実データができます。

 

 

---

 

手順 3:T_統合候補にチェックフィールドを追加

 

テーブルデザインビューで以下のフィールドを追加します:

 

フィールド名 型 用途

 

採用A Yes/No A側を採用する場合チェック

採用B Yes/No B側を採用する場合チェック

(または)採用側 短いテキスト "A" または "B" を入力しても可

 

 

👉 フォームでチェックボックスを作れば、視覚的に選択できます。

 

 

---

 

手順 4:チェック結果を元に統合テーブルを生成

 

次のようなクエリを作ります:

 

SELECT

    統合ID,

    名前,

    IIf(採用A, 住所_A, 住所_B) AS 採用住所,

    IIf(採用A, 更新日付_A, 更新日付_B) AS 採用更新日付,

    IIf(採用A, 更新備考_A, 更新備考_B) AS 採用備考

FROM

    T_統合候補

WHERE

    採用A = True OR 採用B = True;

 

これで「人間が選んだ方だけ」出力されます。

 

 

---

 

✅ メリット

 

目視確認+選択が可能(誤りを防げる)

 

「更新日付」が文字列でもOK

 

Accessフォームで簡単にUIを作れる

 

将来「自動選択ロジック」を追加する余地もある

 

 

 

---

 

🧩 代替案(もう少し自動化)

 

もしもう少し自動にしたいなら:

 

1. まず上記の比較テーブルを作る

 

 

2. VBAで「更新日付_A > 更新日付_B の場合、採用A=Trueにセット」と初期値を埋める

 

 

3. 人が残りを確認・修正

 

 

 

これで 「半自動化+目視チェック」 の最もバランスの良い形になります。

 

 

---

 

✅ 推奨構成まとめ

 

オブジェクト 内容

 

T_A, T_B 元データ

Q_比較結果 両者を横並びにした比較用クエリ

T_統合候補 チェック可能な実テーブル(Q_比較結果から生成)

Q_採用結果 チェックを反映して最終統合出力