Access主キーについてと設定方法

 

アクセス担当のまみです。

 

アクセスでテールとか作ったりすることもあるけど、主キーってよくわからないなぁ。

主キーってそもそも何?

 

今回はそんな疑問にお答えしますね!

 

主キーにできるのは?

 

(はてな君)
テーブルを新規に作成するとIDが自動的に主キーになってるよ!

 

(あいちゃん)
そうなんです。フィールド名「ID」、データ型「オートナンバー」が自動的に主キーに設定されていますね。

 

必要に応じてその「ID」を削除したり、名前を変えたりして使用します。

主キーに設定できるのは、社員マスターの社員コードや商品マスターの商品コードのように他に同じ値のないデータです。

 

 

主キーに同じ値を入れることはできません。 

それから、 必ず値が入力される必要があります。空欄が発生するようなデータは主キーにはできません。 

 

(はてな君)
ふ~ん。だからオートナンバーは主キーにできるんだぁ。

 

主キーを設定すると検索のスピードが上がります。

 

主キーは設定しなくてもいいんだけど、他のテーブルと連携させるときには、主キーって必要になってきます。

 

主キーは1つのデータに特定できる

 

主キーって1つのデータに特定できるので、VBAで修正画面を作成している時にはとっても重宝します。

 

テーブルから直接データを修正する時には、主キーを意識することはないけど、フォームからデータを修正しようとすると、データを特定できないと、修正できないんです。

 

(はてな君)
そっか。データが特定できないと、どのデータを削除したり修正したりしたらいいのかわからないんだ。

 

テーブルやクエリだけ使用している時には検索スピードが上がったって感じることってほとんどないんだけど、フォームからの検索だとデータ量が多くなってくると遅くなってきたのがわかります。

そんな時に主キーが設定されていなければ、主キーを設定することで改善が期待できます。

と言っても実際には、コードの書き方ともからんでくる話なので、大幅に改善するって期待をしないほうがいいかもしれません・・・

 

主キーの設定方法

 

では実際に主キーの設定をどうやってするのかやってみましょう!

説明のために「商品コード」ファイルを使用します。同じファイルの方が理解しやすいので、お時間ありましたらぜひ作成してみてくださいね!

 

【アクセス】コンボボックスにテーブルの値を表示させよう

2018年10月24日

 

では「商品コード」ファイルの「T_商品マスター」テーブルをデザインビューで開きましょう。

 

 

①「デザイン」タブにある②「主キー」を左クリックすることで主キーを設定したり、外したりできます。

主キーが設定されていると③のようにレコードセレクタに鍵マークがつきます。

 

(あいちゃん)
主キーを設定できそうな項目があればその項目を、なければオートナンバーを主キーにするといいよ!

 

まとめ

 

なんとなく主キーのことが理解してもらえたかなって思います。

色んなテーブルを触っていたらだんだんわかってくるので、わからないなって思っても、深刻にとらえないでくださいね!

 

少しずつステップアップを目指しましょう!