• ベストアンサー

アクセスのフォームで入力可能にならない。

 初心者で申し訳ありませんがお願いします。過去ログNo.449250を見ましたが(似た状況ではあります)解決しないので質問させてください。  既存のデータのあるデータベースでの入力フォームは、最初、既存のデータが表示されますよね?(ここまでは正しいでしょうか?)、そこから、左下のアスタリスクと三角のようなボタンで最終頁に飛ぶような感じで、入力項目が空欄になると思うのですが、そのボタンがアクティブにならず、新規入力できません。  原因追求のための基本的なチェック項目と、解決手段をおしえてください。お願いします。  フォームは、単票形式の親フォームに表形式の子フォームが入り込んでいる形で、親子のリンクは機能してます。  ウィザードで流れるままにフォームを作成していき、親子のリンクを設定して、入力欄のデザインをいじったぐらいで、とくにそれ以上の操作はしていないつもりですが、ひょんなところを触ってしまっているかもしれません。  単価と数量を入れると合計が表示されるようにした欄があるので、集計をしていることが原因かもと思いましたが、以前にそのような形でのフォームを作ったことがあり、私の操作の一部が間違っているだけだと思うのですが、どこがおかしいのかがわかりません。  合計欄は編集不可にしてあります。 windows2000 access2002です。  

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

>ただ合計欄だけはテーブルにはないので、クエリから持ってきました。 フォームのレコードソース・プロパティはテーブルになっているということですよね? 合計欄だけクエリーから持ってくるって、どうやってやるんでしょうか?合計欄のコントロールソースはどうなってますか?「=Sum(...)」のようにしているんじゃないんでしょうか?もし、「=Sum(...)」でないとすると、これが入力できない原因になっているような気もします。(断言はできませんが。) >スナップショット フォームをデザインビューで開いて、プロパティウィンドウでフォームのプロパティを表示させ、「データ」タブを選択すると、「レコードセット」というプロパティがあると思います。このプロパティが「スナップショット」になっていると入力できません。

dawasa
質問者

お礼

 ご回答いただいた皆様ほんとうにありがとうございました。これが原因だということがはっきりわかる形での解決はできませんでした(ので再度同じことが起こったとき問題です)が、なんとか今回目的の状態をつくることができました。    何度ももとになるクエリを作り直してきたのですが、今朝再度作るにあたって、やはり合計などの計算はクエリ等から持ってくるのではなく、最終形で計算し、また親フォームとサブフォームからもしかしてと思い、親フォーム用のクエリのリレーションテーブルに、項目的にはサブフォームでしか使わないテーブルを追加するということをやってみたらできました。    本当にそこに原因があったのか、かなり一からいろいろ作り直したのでその途中で気づかずに原因を修正していたのか、よくわからないというレベルなので、きちんと報告できなくて済みません。  本当にありがとうございました。

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

親フォーム、子フォームそれぞれのレコードソースがテーブルなら問題ないはずです。 クエリの場合で集計クエリやあいまいな連結になっていると、 入力や変更はできない場合があります。 まず、お使いのクエリ上で入力や変更が可能かご確認ください。 >集計をしていることが原因かもと思いましたが... フォーム上で行っている場合は大丈夫です。 集計クエリを使用している場合は表示専用(追加・更新不可)ですのでご注意を。

回答No.2

・入力できない(レコードの追加ができない)のは親フォームの方ですか?サブフォームの方ですか? ・入力できない方のフォームのレコードセット・プロパティがスナップショットになってませんか? ・入力できない方のフォームのレコードソースは何ですか?テーブルですか?クエリーですか?クエリーなら、そのクエリーの SQL ビューの内容はどうなってますか?

dawasa
質問者

補足

不明確ですみません。 入力できないのは両方です。というかフォーム全体です。データのある範囲は、頁を移動して見ることはできます。  項目は親とサブとそれぞれクエリを作ってクエリからフォームを作ったのですが上記のようになったので、再度できるだけデータはテーブルから持ってくるようにして、ただ合計欄だけはテーブルにはないので、クエリから持ってきました。が、再び同じ現象になりました。  SQLは明日、確認します。 (自宅のPCに入っているデータベースではないもので。今日は朝からネット上で入門講座等を見て廻りましたが、直接解決の糸口になるものが見つけられず、こちらに質問することにしました) スナップショット、なるべく自分で調べてみますが、現時点では用語の意味からわかりません。失礼します。

  • Raistlin
  • ベストアンサー率63% (65/102)
回答No.1

フォームのプロパティの[追加の許可]を「いいえ」にすると、「新規レコード」のボタンは無効になります。 ここをチェックください。 蛇足ですが、[データ入力用]プロパティを「はい」にすると、既存のデータは表示されません。

dawasa
質問者

補足

確認しましたが、追加の許可ははいになっています。(さらにはデータ入力用もはいになっています。なんで既存のデータが出るんだろう?と思ってしまいました。 あとなぜか今日の確認で子フォームの入力は可になっていました。入力ができないのは親フォームです。 ほかに何か可能性は考えられますでしょうか?

関連するQ&A