pickup

 

目次

一対一のリレーションでレコードを追加

こんにちは。伊川(@naonaoke)です。

今回は、一対一のリレーションが設定されているテーブルにレコードを追加します。

この時に、レコードが追加されないときがあります。

その際のエラー回避方法について説明します。

問題提起

(株)IKAWAの阿久 世子男(アク セスオ)は上司から下記の依頼を受けました。

作成された社員名簿に、レコードを追加することができない。

何が原因なのだろうか?

解決策

回答
sesuo2.jpg
・リレーションの構造を説明して上司に理解をしてもらう。
一番メインとなるテーブルから追加する。

 

リレーションの構造

リレーションにレコードを追加する際には、一番重要なテーブルは何かということ考えます。

メインのテーブルからレコードを追加しないと、レコードは追加できません。

レコードの追加 作成手順その1 データベース確認

この社員名簿にレコードを追加する際は、MT_社員住所録を起点に追加しないとエラーになります。

それは、MT_社員住所録を起点にリレーションを設定しているからです。

また、MT_社員配属に社員は存在するが、MT_社員住所録に存在しない社員は、データベースに矛盾が生じます。

レコードの追加 作成手順その2 クエリとフォームを作成する



t_社員住所録追加1から追加をします。

追加クエリに関しては、上の記事で確認してください。

レコードの追加 作成手順その3 VBAのコードを仕込む

このようなVBAのコードを仕込んでいます。


この入力フォームに関しては、リレーションが設定されているテーブルを元に作成しています。

入力項目全部を入力すると、すべてのテーブルに反映されます。


フォームの作成時のACCESSの図です。

ここがポイント

ここがポイント
Function8.png
一対一のリレーションだけでなく、リレーションを設定すると、若干面倒な場合があります。しかし、リレーションを設定した面倒よりも、はるかにメリットはあります。ACCESSはリレーションを設定できるところが、Excelよりも優れているところになります

 

まとめ

今回のまとめ
sesuo6.jpg
完璧な社員名簿を作成して、業務を煩雑をなくそうと思った阿久 世子男(アク セスオ)なのでした。

今回のサンプルファイルは、No91です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事