SQL Serverでのリレーションシップのエラー


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
vol288

これならわかるマイクロソフトアクセス活用法
            -->SQL Serverでのリレーションシップのエラー
              
発行者:高内 章治 2017年7月 5日
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏ 今日の内容 ━━━━━━━━━━━━━━━━━━━━━━━━┓

┃【01 - ご挨拶    】
┃【02 - トピックス  】SQL Serverでのリレーションシップのエラー

┃【03 - 編集後記    】

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

─────────────────────────────────
【01 - ご挨拶    】          
─────────────────────────────────

こんにちは、高内(こうない)です。

今回は、

「SQL Serverでのリレーションシップのエラー」

についてお話したいと思います。




─────────────────────────────────

【02 - トピックス】: SQL Serverでのリレーションシップのエラー

─────────────────────────────────

お客様で、Accessから、SQL Serverに移行するときに、エラーが出たそうです。

そのままにして、検索機能などを使うと動かないそうです。

以下のようなエラーです。
他にもエラーがありましたが、1つだけ説明します。

***************************************
サーバー エラー 1785: [SQL Server Native Client 11.0][SQL Server]テーブル 'T物件マスタ' に FOREIGN KEY 制約'T物件マスタ_FK00' を設定すると、パスの循環や複数のカスケード パスが生じる可能性があります。ON DELETE NO ACTION、ON UPDATE NO ACTION、を指定するか、他の FOREIGN KEY 制約を変更してください。サーバー エラー 1750: [SQL Server Native Client 11.0][SQL Server]制約またはインデックスを作成できませんでした。以前のエラーを調べてください。

*************************************

「FOREIGN KEY 制約」は、SQL Serverのテーブルの「リレーションシップ」で使用されています。

多分、Accessの「リレーションシップ」がおかしい可能性があります。

上の例では、
「物件マスタ」がおかしい可能性があります。

「リレーションシップ」の注意点を説明します。

Accessでは、「リレーションシップ」で、テーブルの「フィールド」(項目)を結合するとき、あまり、厳密ではありませんが、SQL Serverでは、同じでないとエラーが出る可能性があります。

また、テーブルに「主キー」があるか確認する必要があります。
SQL Serverの「テーブル」には、必ず「主キー」が必要です。

「リレーションシップ」で結合する「フィールド」(項目)は、「データ型」や、「長さ」、「小数点以下」などが異なっているとエラーが出る可能性があります。

Accessで「リレーションシップ」する場合は、「データ型」、「名前」、「長さ」、「小数点以下」は、同じにしたほうがよいです。

まだ、SQL Serverを本番で使っていないのであれば、Accessのテーブルを修正した方がよいと思います。
その後、SQL Serverに移行した方がよいです。

もし、SQL Server側を修正したい場合は、Management Studioの「データベースダイアグラム」でまず、「リレーションシップ」を削除して、「フィールド」(項目)の定義を変更します。
リレーション先と同じにします。

「フィールド」(項目)の名前を変えると、プログラムの変更が必要になりますので、そのままにします。
再度、リレーション(結合)します。


参考にしてください。



─────────────────────────────────
【03 - 編集後記    】       
─────────────────────────────────

東京都議選がありました。

都民ファーストの会が大勝しました。
第一党です。

自民党や民進党は大敗です。

自民党が負けたというよりは、都民ファーストが強かったと言うことですね。


◆私がアクセスをマスターできたのは!!
http://www.sk-access.com/kyozai/zaiko1.html  

テーブル作成からVBAまでマスターできます。 
「在庫管理システムをアクセスで作ってみよう」教材です。
http://www.sk-access.com/kyozai/zaiko2.html  


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●ご意見・ご感想・ご質問
 
『メルマガでもっとお役にたてる情報を配信したいと思いますので、日ごろから疑問に思っていることを教えてください。
宛先はこちらへです』

  •  kohnai★vega.ocn.ne.jp
      (高内:こうない:)
    (メールするときは、★を@に変えてください)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


◎「これならわかるマイクロソフトアクセス活用法」 のバックナンバー・配信停止はこちら

archive.mag2.com/0000222659/index.html

◎以下のホームページからでもバックナンバーを見ることができます。

http://www.sk-access.com/mailmaga/index.html

登録・解除につきましてはご自身でお願いいたします。

※このメールマガジンの転送はOKですが、掲載された記事の内容を許可無く転載することをを禁止させて頂きます。
必ず事前にご相談ください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


1週間でアクセス(Access)のシステム開発ができる〜
「在庫管理システムをアクセスで作ってみよう」教材

「アクセスのプログラム/システムを短期間で開発したい方」、
「アクセスのフォーム/VBAを完全にマスターしたい方」のための
アクセス(Access)を使って1週間でシステム開発する究極の方法とは?

「アクセス(Access)のシステムを無料のSQL Server 2016 Expressへ
移行してみよう」教材

あなたの会社のアクセス(Access)のデータベースやシステムに不安を感じていませんか?
アクセスのデータ量が多くなり処理スピードが遅くなった。
アクセスのデータを共有したい。
セキュリティに不安がある。などと、感じている方は!!
(SQL Server 2016 Expressバージョンです。)


「アクセス(Access)プログラムの仕様書の作り方」教材
マイクロソフトアクセスを使用して、プログラムの作成/システム開発をおこないたい方の為に、
アクセス(Access)のプログラム開発に成功するために絶対に必要な「仕様書」とは?



[↑一番上へ]
[マイクロソフトアクセス活用法(メールマガジン)(ホームへ)]
12:492003

アクセス全体

VBA

SQL Server