dポイントプレゼントキャンペーン実施中!

いつもお世話になっております。

AccessからSQLServerのテーブルにリンクをはっています。
このリンクテーブルをupdate文で更新したいのですが、
「更新可能なクエリであることが必要」とでています。

以前にも類似の質問をしました。

http://oshiete.goo.ne.jp/qa/6581636.html

しかし、いったん解決したのですが、別のところで同様の現象が
でてしまいました。

調べると、リンク先のSQLServerのテーブルにはキーが存在していて、
Access側からリンクするときには自動的に一意設定されてしまいます。
発行したいupdate文はこのキーとは別の項目が一意になっていないと
だめな条件付けがされているのです。
リンクをはるときに、SQLServer側ですでに設定されているキーとは
違った項目を一意項目として選択する方法はあるのでしょうか?
調べてみると、まったくキーのないテーブルをリンクするときは当然、
一意な項目を選べるのですが、キーがすでにある場合はだめな
ようでした。

毎度のことでお手数なのですが、どうかよろしくお願い申し上げます。

A 回答 (1件)

リンク先のテーブルにユニーク索引を作成してください。


alter table テーブル名 unique ( 項目1, 項目2, ... )

これで更新クエリで対象レコードが指定した項目でユニークになるのであれば更新可能なはずです。

この回答への補足

nora1962様

教えていただいた方向でT-SQLを調べて、試してみました。

以下のスクリプトをSQLServer2008で実行しました。

-----------------------------------------
ALTER TABLE テーブル名
ADD CONSTRAINT UQ_テーブル名
UNIQUE (ID,依頼, 枝)
GO
-----------------------------------------

IDが本来の主キーで、依頼と枝が一意にしたい項目です。

Accessから問題の更新クエリを実行したのですが、現象は
変わりませんでした。

うーん、根本的に考え違いをしているのでしょうか?

もし、何かお分かりでしたらお教え願えないでしょうか?
よろしくお願いいたします。

補足日時:2011/03/16 09:52
    • good
    • 0
この回答へのお礼

あ、nora1962様

いつもありがとうございます。
深謝です。

教えていただいた方法をためしてみます。
今、作業できないので、ご報告は後ほど。

取り急ぎお礼まで。

お礼日時:2011/03/16 08:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す