• 締切済み

ACCESSのフィールドの更新

マイクロソフトACCESSフォームAでテーブルBのCフィールドの更新は出来るのですが、フォームDから連結でテーブルBのCフィールドの更新が出来ません。(同じようにして2個作成したシステムのうち1個は出来たのですが、もう1個がどうしても出来ません:テーブル,クエリ,フサブフォーム,フォームの違いを捜しているのですが見当たりません。)

みんなの回答

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.3

#1です > 2つのフォームの違いはテーブルの連結があるのと無いのとです。 ぁぁ、なら、初期の話だね トラブルシューティング : クエリ (MDB) - Microsoft Corporation http://office.microsoft.com/ja-jp/access/HP030702011041.aspx クエリの種類別トラブルシューティング -選択クエリ -クエリからデータを更新できない -データを更新できない のあたりを読んでね 連結させてる片方は、主キーにしておかないと更新可能なクエリにならない 1対1か、1対多のクエリである必要があると、言う話ね

cogi-choco
質問者

お礼

有難うございます。 連結の片方は主キーにしてあります。 再度、クエリの勉強をし直して、 挑戦してみます。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.2

#1です > VBAの計算式(C=C-X)を実行するときエラー ? VBAで、計算式??? 演算する値を、確認できます? 例えば、Cが数値、Xが文字で認識されてるとか・・・普通は自動的に型変換されますが・・・「フォーカス取得後」で行った場合、XがNull値を取得してるとか? エラーを出して、停止した時に、それぞれの値にカーソルを持っていくと、変数に保持されている値が、表示されると思いますが・・・

cogi-choco
質問者

お礼

有難うございました。 今一度、一からやり直してみます。

cogi-choco
質問者

補足

有難うございます。 デバッグ時の数値は、更新されていない状態の数値が表示されます。 両方のCとも同じ値が表示されます。 エラーは「フィールドを更新できません」です。 このフィールドを別のフォームではVBAで更新できます。 2つのフォームの違いはテーブルの連結があるのと無いのとです。 無いほうは更新できます。あるほうが更新できないのです。 また、これと同じ様な別のアクセスプログラムでは更新出来るのです。 (フィールドの結合パターンは一緒です。) 何がいたずらしているのか?何が間違っているのか? ご教授宜しくお願い致します。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

更新できない理由で、一番大きいのは、クエリの結合方法の違いと言うのが、初心者だと多いのですが・・・クエリの結合方法を確認ください フォームで言えば、レコードソースの部分ね 質問が漠然としてて、違いは無い!って言われれば、無いんでしょうね で、終わってしまいますが・・・

cogi-choco
質問者

お礼

ご回答有難うございました。 クエリの結合方法を再度確認してみます。

cogi-choco
質問者

補足

早速のご回答有難うございます。追加説明をさせて頂きます。 フォームを開いた時は、Cフィールドのデータは表示されています。 (ここへは入力しません) フィールドの更新のタイミングですが、フォームでデータXを入力後、他のコントロールに移った時のイベント(フォーカス取得後)で、VBAの計算式(C=C-X)を実行するときエラー(フィールドを更新できません)が出てストップします。計算式に使用する変数は「プロパティ/メソッドの一覧」から引用しています。また、フォーム作成時、 レコードソースはクエリからの自動生成及びフィールドリストからの 貼り付けのどちらも行いましたが、だめでした。 宜しくお願い致します。

関連するQ&A

専門家に質問してみよう