Microsoft Office全般(Excel/Word/PowerPoint/Access/Outlook/OneNote)の使用方法を解説。

www.wanichan.com

PC > Access > FAQ

[Access 2000] レコードセットは更新できません!メッセージ

Microsoft Office Users Forum過去ログ

■81 / inTopicNo.1) レコードセットは更新できません!メッセージ

□投稿者/ ryoちゃん 一般人(1回)-(2005/04/03(Sun) 01:37:48)


記事内容:[Access] 

アクセス2000にて処理をしています。テーブルデータにある空白列に直接数値を入力することやそのテーブルだけをフォームにして入力することは可能なんですが、そのテーブルだけでは読み取れないデータがあるのでクエリにて何点かのテーブルデータを元に作成したクエリをファームにして入力しようとすると「このレコードセットは更新できません」とメッセージが出て入力が出来ません。クエリの作成時には商品CDをもとに結合させています。通常他に作成したデータファイルは普通に入力出来ていたのですが・・・

■82 / inTopicNo.2) Re[1]: レコードセットは更新できません!メッセージ

□投稿者/ シムリー 一般人(4回)-(2005/04/02(Sat) 11:14:53)
http://homepage3.nifty.com/dev/

恐らく、作成されたクエリに問題があると思います。
テーブルの構成と、クエリの抽出フィールドを示して頂ければアドバイスできると思います。

■83 / inTopicNo.3) Re[2]: レコードセットは更新できません!メッセージ

□投稿者/ ryoちゃん 一般人(2回)-(2005/04/03(Sun) 01:37:36)

T01商品マスタ
商品CD       数値型
商品名       テキスト
バラ単位名     テキスト

T02棚番リスト
商品CD       数値型
商品名       テキスト
棚番        テキスト

T04本社倉庫
商品CD       数値型
リアル現在在庫数  数値型
実棚数       数値型

T08棚卸商品    
商品CD       数値型

クエリ抽出
T02棚番リスト    棚番
T08棚卸商品     商品CD
T01商品マスタ    商品名
T

■84 / inTopicNo.4) Re[3]: レコードセットは更新できません!メッセージ

□投稿者/ ryoちゃん 一般人(3回)-(2005/04/03(Sun) 01:39:02)

クエリ抽出フィールド
T02棚番リスト    棚番
T08棚卸商品     商品CD
T01商品マスタ    商品名
T04本社倉庫     リアル現在在庫数
T01商品マスタ    バラ単位名
T04本社倉庫     実棚数

シムリー様ご返信ありがとうございます。
クエリはこの4つのテーブルをT08の商品CDの全レコートと結合させるでクエリを作成しました。データ自体はエクセルからインポートしてそのままテーブルに使用しました。現在在庫と実棚数のチャックをして実棚数の欄に入力したかったのですが・・・。
よろしくお願いします。

■85 / inTopicNo.5) Re[4]: レコードセットは更新できません!メッセージ

□投稿者/ シムリー 一般人(5回)-(2005/04/02(Sat) 12:52:41)
http://homepage3.nifty.com/dev/

要は、T04本社倉庫テーブルを更新したいわけですね。
同じ主キーを持つテーブルを複数参照している状態なので、クエリビルダの画面(上半分)は何だか混線状態じゃないかと(笑)

> 4つのテーブルをT08の商品CDの全レコートと結合させる

とありますが、これって外部結合をしたと言うことですか?
それから、T08棚卸商品のデータが想像できないのですが、具体的にどういうデータが登録されているのでしょうか?

■86 / inTopicNo.6) Re[5]: レコードセットは更新できません!メッセージ

□投稿者/ ryoちゃん 一般人(4回)-(2005/04/02(Sat) 14:03:26)

ご返信ありがとうございます。

T01 商品マスタには全商品CDデータが入ってます。T04本社倉庫は現在在庫商品(管理システム上)のCDと数量が入っています。T08棚卸商品は現在在庫商品の内のいくつかをピックアップして実棚数を数える為に抜き出した商品CDのみです。抜き出した商品CDのみを抽出して実棚数を入力したかったので、クエリ時に各テーブルの商品CDとT08棚卸商品の商品CDの結合プロパティをT08棚卸商品の全レコードと各テーブルの同じ結合フィールドのレコードだけを含める。にして作成したんですが・・・。

確かに、同じ商品CDで複数参照しているのでおかしくなっているのかもしれないですね。

■87 / inTopicNo.7) Re[6]: レコードセットは更新できません!メッセージ

□投稿者/ シムリー 一般人(6回)-(2005/04/02(Sat) 16:36:46)
http://homepage3.nifty.com/dev/

> 各テーブルの商品CDとT08棚卸商品の商品CDの結合プロパティを

とありますが、T08棚卸商品を別名で呼び出して各テーブルと外部結合しているみたいですね。
フォームの元となるクエリを次のように組み直してみて下さい。

クエリビルダで4つのテーブルを表示します。
次に下に示す3カ所を結合して下さい。

T01商品マスタ.商品CD = T02棚番リスト.商品CD
T02棚番リスト.商品CD = T04本社倉庫.商品CD
T04本社倉庫.商品CD = T08棚卸商品.商品CD

結合の種類は内部結合(結合プロパティの1番)です。

恐らくこれで意図した結果が出るのではないでしょうか?

■88 / inTopicNo.8) Re[7]: レコードセットは更新できません!メッセージ

□投稿者/ ryoちゃん 一般人(5回)-(2005/04/02(Sat) 17:18:29)

ご返信ありがとうございます。

T08棚卸商品を外部結合しているのでは?と記載していただいているんですが、たぶんしていないと思うんですよ。私の表現の仕方がおかしかったかもしれないですね。
クエリに4つのテーブルを表示してT08棚卸商品の商品CDを元に内部結合、結合プロパティ2番でT08棚卸商品:商品CDから残りの3つのテーブルの商品 CDに「やじるし→」が出るようにしたんです。T08棚卸商品:の商品CDだけを抽出したかったので。その後、記載したようにクエリ抽出フィールドに T02棚番リスト:棚番、T08棚卸商品:商品CD、T01商品マスタ:商品名、T04本社倉庫:リアル現在在庫数、T01商品マスタ:バラ単位名、 T04本社倉庫:実棚数のフィールドを設定しました。

その結果、フォームに持って来ても入力出来ないし、ましてやクエリに出力されたデータでも「このレコードセットは更新できません」とメッセージが出たんです。

また、記載していただいたとおりに3箇所を結合して記載したとおりのテーブルデータをクエリに抽出したんですが、やはりメッセージは出たんです。

■89 / inTopicNo.9) Re[8]: レコードセットは更新できません!メッセージ

□投稿者/ シムリー 一般人(7回)-(2005/04/02(Sat) 17:44:19)
http://homepage3.nifty.com/dev/

> 結合プロパティ2番でT08棚卸商品:商品CDから残りの3つのテーブルの商品CDに「やじるし→」が出るようにした

というのは、まさに外部結合なんですよ。
とりあえず、同じテーブル環境を作ってみたところ
先ほどの3つの結合だけで作成すれば、
しっかり更新可能なクエリとフォームが出来ましたよ。
どうしてもうまく動かなければ、次のSQLで実験してみて下さい。
クエリに新規作成、デザイン、とすすみ、
テーブルをまったく追加しないで、テーブル表示を閉じ、ツールバーのビューの切り替えボタンが「SQL」になると思いますので、そこをクリックして下に示すSQLを貼り付けて実行してみて下さい。

SELECT T02棚番リスト.棚番, T08棚卸商品.商品CD, T01商品マスタ.商品名, T04本社倉庫.リアル現在在庫数, T01商品マスタ.バラ単位名, T04本社倉庫.実棚数
FROM ((T01商品マスタ INNER JOIN T02棚番リスト ON T01商品マスタ.商品CD = T02棚番リスト.商品CD) INNER JOIN T04本社倉庫 ON T01商品マスタ.商品CD = T04本社倉庫.商品CD) INNER JOIN T08棚卸商品 ON T01商品マスタ.商品CD = T08棚卸商品.商品CD;

■90 / inTopicNo.10) Re[9]: レコードセットは更新できません!メッセージ

□投稿者/ ryoちゃん 一般人(6回)-(2005/04/02(Sat) 18:31:30)

ご返信ありがとうございます。
結合プロパティ2番が外部結合に相当するんですね。知りませんでした。

そちらで、実験をしていただいたら巧く機能して更新処理が出来たんですよね。
なぜだろう??教えていただいたとおりにSQLに貼り付けてクエリを作成してみたんですが、抽出は出来るんですがやっぱり更新処理ができないんです(T_T)
何か知らないうちに制限をしてるでしょうか・・・。

少しがんばってみます。お忙しいのにありがとうございます。

■91 / inTopicNo.11) Re[10]: レコードセットは更新できません!メッセージ

□投稿者/ シムリー 一般人(8回)-(2005/04/02(Sat) 21:16:09)
http://homepage3.nifty.com/dev/

テーブル間の矛盾する参照制約が働いている可能性もありますね。
4つのテーブルは、全て商品CDのみが主キーになってますか?
それから、この4つのテーブル以外にテーブルはありますか?
リレーションシップウィンドウから、全ての連結を選択して削除し、バラバラのままで保存してみて下さい。
結合しているのは、クエリビルダ上だけにしましょう。

ちなみに、テーブルやクエリへの権限を設定していないでしょうね?
あるいはこのデータベース、アクセス単体のものですか?
ODBCドライバ越しのデータベースではありませんよね?
(一応老婆心ながら....)

■92 / inTopicNo.12) Re[11]: レコードセットは更新できません!メッセージ

□投稿者/ ryoちゃん 一般人(7回)-(2005/04/03(Sun) 01:42:49)

シムリーさま
ご送信ありがとうございます。

自宅にデータを持って帰り、何度も挑戦した結果やっと入力可能に なりました。クエリでの入力もOK,フォームの入力もOK,そのデータはちゃんとテーブルの実棚数に反映されていました。

長い時間本当にありがとうございました。ひとつ賢くなりました。

ただ「外部結合」の意味が今だよくわかっていないので勉強します

解決済み!
スポンサーリンク
INDEX
  • このエントリーをはてなブックマークに追加

コメント

※技術的な質問はMicrosoftコミュニティで聞いてください!

▲このページのトップへ