主キー —— 重複させず、更新する
表の一意キーとして列を 1 つ指名すると、以後は同じキーの再取り込み・貼り付け・同期が、行を増やすのではなくその行を更新するようになります。「差分更新」と「重複なし」の裏にあるスイッチです。
このマニュアルの日本語は解説文です。アプリの画面表示は英語のため、メニュー名・ボタン名・エラーメッセージは画面どおり英語で表記し、スクリーンショットも英語画面のものを使っています。
これが解く問題
今月の受注を取り込み、来月また取り込む。キーがなければ、両方のファイルに現れる行は二重に入り、あらゆる合計が狂います。キーがあれば、2 回目の取り込みは既にある行を更新し、本当に新しい行だけを追加します。
設定する
表を開き、右上の Data Connections をクリックして、ダイアログの Set Primary Key を選びます。

行を identify する列(複数可)を選びます。ダイアログには何が起きるかがそのまま書いてあります。
Choosing a field will merge its content into the table's index field without altering the original field. The system retains only the latest row of identical primary keys.
二度読む価値のある結果が 3 つ。
- 選んだ列の内容は表の 1 列目に統合されます(
AA1、#の Primary Key 列)。元の列は変更されません。 - キーが同じ行は最後の 1 行だけが残ります。
- 複数列を選ぶと、その組み合わせがキーになります —— 日付 + 店舗、部品番号 + 倉庫。
正しい列の選び方
キーは行ごとに一意で、時間が経っても変わらない必要があります。
| データ | よいキー | 理由 |
|---|---|---|
| 受注 | 受注番号 | 1 受注に 1 つ、使い回されない |
| 店舗別日商 | 日付 + 店舗 | 1 店舗 1 日につき 1 行 |
| 入出庫 | 入出庫 ID | 同じ部品の 2 回の移動は別の行 |
| 部品リスト | 部品番号 | 自然なキー |
| 勤怠 | 日付 + 社員番号 | 1 人 1 日につき 1 行 |
悪いキーは繰り返し現れるもの —— 顧客名、地域、ステータス。これらを選ぶと、本来別々の多数の行が黙って 1 行に潰れます。
設定後に変わること
- 再取り込み:一致するキーは更新、新しいキーは追加。これがいわゆる差分更新です。
- データ接続:同じ規則が効くので、元データを毎回まるごと読み直す接続でも行が増殖しなくなります。「新規レコードだけ」ではなく「現在の全量」を返す元データでは、キーは任意ではありません —— HTTP 接続を参照。
- 自動化の、別の表へ書き込むアクションも、対象表にキーがあれば挿入ではなく更新になります。
- ダッシュボードの「データを挿入」アクションも同様です。これがダッシュボードのボタンを「もう 1 行足す」ボタンではなく「ステータスを変える」ボタンにします。
変更・解除
別の列で設定し直せば、表のキーが張り替わります。ただしキーごとに最後の 1 行しか残らないので、重複のある列でキーを張り直すと行が潰れ、元に戻せません。切り替える前に、その列が本当に一意かを確かめてください。大事な表なら先に .tdbk のバックアップを取ってください。