こんなお悩み、ありませんか?

「Accessでテーブルを作ったけど、プライマリキーってなに?
設定しないとどうなるの?」
こんなふうに思ったこと、ありませんか?
こんにちは、Access歴30年のなかぜんです。
今回は、Access初心者の方がつまずきやすい「プライマリキー」について、やさしく解説します。
これを読めば、テーブル設計がグッとわかりやすくなって、ミスも減らせます!
🧩プライマリキーとは?
プライマリキー(主キー)とは、テーブルの中で「1つのレコードを一意に識別するためのフィールド(またはフィールドの組み合わせ)」です。
🔍たとえば…
「社員テーブル」があったとしましょう。
- 社員ID
- 氏名
- 部署
この中で「社員ID」が他と絶対に重ならない番号なら、それをプライマリキーに設定します。
📌設定の目的
- 重複レコードを防げる
- 関連するテーブルとの「リレーションシップ(結びつけ)」に使える
- 検索や更新が速くなる(パフォーマンスの向上)
⚙Accessでの設定方法
Accessでプライマリキーを設定するのは、とっても簡単です。
🖱テーブルデザインビューで設定
- ナビゲーションウィンドウからテーブルを右クリックし、「デザインビュー」を選択
- 「プライマリキーにしたいフィールド」を選択
- 上部の鍵マーク(🔑)のボタンをクリック
すると、選択したフィールドの左に「鍵マーク」がつきます。これで設定完了!
💡VBAで設定する方法
CurrentDb.Execute "ALTER TABLE 社員テーブル ADD CONSTRAINT pk_社員ID PRIMARY KEY (社員ID)"
※すでにデータが入っていて、重複があるとエラーになります。
⚠注意点&よくあるミス
- 重複してはいけない → データ入力時にエラーになる
- NULL(空白)はNG → プライマリキーには必ず値が必要
- 複合キーは慎重に → 複数のフィールドを組み合わせる場合、設計をよく考える必要あり
「氏名」や「住所」のように同じ値が入力される可能性がある項目は、プライマリキーにしないように注意しましょう。
🚀応用ポイント(中級者向け)
🔗リレーションシップとの連携
プライマリキーを設定しておくと、他のテーブルと「リレーションシップ」を設定する際に便利です。たとえば「社員テーブル」と「勤怠テーブル」を社員ID
で結ぶと、データの整合性が保てます。
🧠オートナンバー型の活用
プライマリキーには「オートナンバー型」が便利。自動で連番を振ってくれるので、人為的ミスを防げます。
🎯まとめ
今回の記事では、Accessにおける「プライマリキー」の意味と設定方法、そして注意点について解説しました。
- プライマリキーはレコードの識別番号
- 重複や空白がないように設計する
- 設定することで、データの整合性や検索効率がアップ
「プライマリキーを設定するだけで、こんなに管理が楽になるんだ!」と思ってもらえたら、嬉しいです😊
🔗次のステップ
次は、リレーションシップの使い方について学んでみましょう!
¥2,992 (2025/04/21 22:51:38時点 | 楽天市場調べ)
