Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1038 / 9994 ←次へ | 前へ→

【12259】Re:重複する値があるため主キーとして設定できない
回答  かるびの  - 13/1/26(土) 0:54 -

引用なし
パスワード
   >これで動くことは動くのですが、サブフォームの最後の行を入れるときにだけ
>何も入らず(サブフォームは複数行の入力が可能)

 サブフォームの最後の行の場合に更新されないのは、
当該レコードがまだテーブルに保存されていないからだと思います。

 そのレコードをテーブルに保存してから更新クエリを実行すれば、
きちんと更新クエリが効くと思います。
 テーブルの保存は、
   DoCmd.RunCommand acCmdSaveRecord
というコードで行います。

 ただ、テキストボックスに値を代入すれば足りるところを、更新クエリを使うのは、
大がかり過ぎており、あまり一般的な方法ではないと思います。


>もう一度商品コードを入れると他のユーザーによって変更が加えられましたとか
>なんとかいうメッセージが出て、他のユーザーの変更を反映するというボタンを
>押すとやっとのことでコードに値が入ります

 このエラーメッセージには私もときどき遭遇します。
 原因は私もよくわからないのですが、
フォームで編集中のレコードを、テーブルのレベルでも内容を書き替えたりすると、
このエラーメッセージが出るようです。
 つまり、レコードが二重に編集されているということなのだと思います。

 回避策としては、フォームでレコードを編集中に更新クエリを実行するのはやめる
ということになると思います。


 そうすると、最初の、VBAで値の代入ということに戻ってきます。

>メインフォームのテキストボックスの更新後イベントに書いてみたんですが、
>サブフォームが見つからないとかなんとか言われてうまくいかなかったので、

 どんなコードを書いたんですか。
 特に、メインフォームのプロシージャにおいて、
サブフォームのコントロールをどのように書くかというところは、
初心者がつまづきやすいところなので、それをどのように書いたのか気になります。

387 hits

【12247】重複する値があるため主キーとして設定できない 13/1/22(火) 16:06 質問[未読]
【12248】Re:重複する値があるため主キーとして設定... かるびの 13/1/23(水) 3:31 回答[未読]
【12249】Re:重複する値があるため主キーとして設定... 13/1/23(水) 16:34 回答[未読]
【12250】Re:重複する値があるため主キーとして設定... かるびの 13/1/24(木) 1:56 回答[未読]
【12252】Re:重複する値があるため主キーとして設定... 13/1/24(木) 16:37 質問[未読]
【12254】Re:重複する値があるため主キーとして設定... かるびの 13/1/25(金) 1:43 回答[未読]
【12257】Re:重複する値があるため主キーとして設定... 13/1/25(金) 12:18 質問[未読]
【12259】Re:重複する値があるため主キーとして設定... かるびの 13/1/26(土) 0:54 回答[未読]
【12265】Re:重複する値があるため主キーとして設定... 13/1/28(月) 10:20 質問[未読]
【12268】Re:重複する値があるため主キーとして設定... かるびの 13/1/29(火) 0:03 回答[未読]
【12272】Re:重複する値があるため主キーとして設定... 13/1/30(水) 15:50 お礼[未読]

1038 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078190
(SS)C-BOARD v3.8 is Free