• ベストアンサー

ACCESSについて質問です。

最近Office2010に変えて、以前使用していた2003のときとは違うような気がするのでおしえてください。 テーブル(T1)とそれを元にしたフォーム(F1)があるのですが、F1で入力したデータは他のレコードに移動したりしなければT1に反映されないのでしょうか? 2003の時にはそうでなかったような気がするのですが・・・

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

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

Accessのフォーム上での入力は、なんらかのレコード保存アクションを起こさないとテーブルには反映されません。 レコード移動もレコード保存アクションの一つです。他に、フォームを閉じる、レコードセレクタをクリックする、Ctrl+Enterなどいろいろあります。 この仕様は、昔のバージョン2003以前から、2010まで変わっていません。

zenithcooler
質問者

お礼

回答ありがとうございます。 以前はF1にあるサブフォームに計算結果が表示されていたのですが、最近はエラー表示になってしまっていたのでその辺が原因かと思っていたのですが・・・ もう少し探ってみます。 ありがとうございました。

関連するQ&A

  • Access2010についての質問です。

    アクセス「超」初心者です。 あるクエリ上のデータを検索(抽出?)して、フォームに反映させたいのですが、基本的なところで躓いております。 クエリ【Q基本データ】にあるフィールドは [階] [場所] [物] です。 [階][場所]は、別にテーブルがあり、そこから選ぶようになっています。 (→【T階テーブル】【T場所テーブル】) このクエリを基に作成したフォーム【F基本データ】上で、検索を行いたいのです。 フォーム【F基本データ】のヘッダー部分に、 テキストボックスを2つ[階検索][場所検索]と ボタンを1つ[検索] それぞれ配置し検索を行えるようにしたいのですが・・・ (テキストボックスはそれぞれ【T階テーブル】【T場所テーブル】からコンボボックスで選ぶようにしています) [検索]ボタン > プロパティシート > イベント > クリック時 の埋め込みマクロにアクション「フォームを開く」を入力していけば良いのでしょうか??? テキストボックスが2つだとマクロでは無理とか??? テキストボックス1つにつき、ボタンを1つ配置したら良いのか??? ご教授いただけましたら幸いです。

  • access、検査の結果表示のサブフォーム、条件によって色を変更

    テーブルは、「T_メイン」 フォームで「F_検索条件入力」と「F_メイン検索結果一覧」があり、 それぞれ元テーブルはなく、 F_検索条件入力は検索条件を入れるだけのフォームをデザインから作成。 その中の検索ボタンを押すと、 Me![F_sub].Form.RecordSource = "SELECT * FROM [T_メイン] where Forms![F_検索条件入力]![検索条件] = [T_メイン]![フィールド1]" Me.Requery のような感じになっております。 上記の結果が、F_検索条件入力の中にあるサブフォーム「F_検索結果一覧」が表示されます。 検索結果を出した「F_検索結果一覧」の数値を元にフォントに色を変えたいです。 複数件数の検索結果がある場合、一番最初のレコードのデータをもとにすべての色が変わってしまっています。 今は「読み込み時」にVBAがはいっています。 「レコード移動時」にいれてみたが、レコードをクリックすると、今度は次のレコードの値を元にした条件ですべてのレコードの色がかわってしまうんです。 1件ずつそれぞれのデータをもとに色がかわるようにするにはどうしたらいいですか?

  • Access2010 更新データ反映のレポート印刷

    質問の仕方が悪かったようなので、もう一度質問いたします。 Access初心者です。 新規データを入力しても、レポートが更新されずに困っています。 エクセルデータをAccess2010にインポートして、元テーブルを作成しました。 元テーブルを元に、フォーム・レポート・検索クエリ(年度別・分類別)等を作成しました。 データが入力されているテーブルは、この元テーブルのみです。それ以外のテーブルはありません。従って、全てのクエリは、この元テーブルを元に作成しております。 フォームを作成しているときに、コンボボックスを作成し、コンボボックスのコントロールソースは、全て、その場で作成しました。(コンボボックス用のテーブルは作成していない) また、郵便番号から住所を入力できるように設定してあります。 ここまでの作業で、新規データの入力はありませんでした。 ところが・・・ 新規データをフォームに入力すると、元テーブルは更新されますが、元テーブルを元に既に作成しているレポートには、新規レコードが表示(反映)されません。 しかし、レポートフッターに設定してある「Count(*)」は、新規レコードを含んだ数字を返しています。 更新されている元テーブルを元に、もう一度レポートを作成しなおしても、新規レコードは表示されません。 ホームタブの「全て更新」ボタンをクリックしても、新規レコードはレポートには表示されません。 どうしたらよいのでしょうか??? どなたか、初心者でもわかるように、教えていただけないでしょうか? 宜しくお願いいたします。

  • access2013でのDsum関数で質問です

    フォームにてテーブルの合計を出そうとしているのですが、テキストボックスに =DSum("実収","車","店名='本社' And 集荷日=#" & Date() & "#") と、入力するときちんと反映されるのですが、 =DSum("実収","車","店名<>'本社' And 集荷日=#" & Date() & "#") と、入力すると空欄になってしまい期待する数値が出てきません。 もちろん元のデータは '本社' 以外のレコードもあるのですがその数字が反映されないのです。 どこが間違っているのか指摘していただけないでしょうか?

  • Access2010 更新データのレポート表示

    Access初心者です。 新規データを入力しても、レポートが更新されずに困っています。 (テーブルや、フォーム内では、データは更新されています) エクセルデータをAccess2010にインポートして、元テーブルを作成しました。 元テーブルを元に、フォーム・レポート・検索クエリ(年度別・分類別)等を作成しました。 ここまでの作業で、新規データの入力はありませんでした。 ところが・・・ 新規データをフォームに入力すると、元テーブルは更新されますが、既に作成しているレポートには、新規レコードが表示(反映)されません。 更新されている元テーブルを元に、もう一度レポートを作成しても、新規レコードは表示されません。 ホームタブの「全て更新」ボタンをクリックしても、新規レコードはレポートには表示されません。 尚、Access初心者です。 「更新クエリ」なるものは、作成していません。というか、「更新クエリ」って何?状態です。 また、クエリそのものが良くわかっておらず、作成したクエリは全て「検索」のためのクエリで、抽出条件に「 [] 」を入力したり、フィールドに「 年度: Year(DateAdd("m",-3,[発送日])) 」を入力したりしかできません。 勿論、リレーションシップって何???状態です。 どうしたらよいのでしょうか??? どなたか、初心者でもわかるように、教えていただけないでしょうか? 宜しくお願いいたします。

  • アクセスのフォーム

    アクセスでウィザードを利用して入力フォームを作りました。 当初はテーブルにあるデータがフォームにも反映されていたのですが、いろいろといじっているうちに、フォームのデータが消えてしまいました。コントロールソースをいじってみたのですが、直りませんでした。 フォームにも、テーブルのデータを反映させるためにはどこを直したらよいか教えて下さい。よろしくお願いします。

  • ACCESSのフォーム

    アクセスのDBに テーブル(T1:レコードが100件) フォーム(F1) フォーム(F2) があります。 F1、F2はT1のデータがリンクされています。 F1を開き(全部で100件)、 フィルタをかけ(20件になる) そのままF1を開いた状態でF2を開くと、 F1でフィルタをかけた状態(20件)で表示させるには どうすればよいでしょうか。

  • Accessのフォームによる、データ登録についての質問です。

    Accessのフォームによる、データ登録についての質問です。 フォームを作成して、データを入力して、フォームの画面を消すボタン(右上にある×)を押すと、テーブルに入力したデータが反映されるようですが、自分で作成したボタンを押すと反映するようにするには、どうしたらよいでしょうか? また、フォームの画面を消すボタンを押しても、反映されないようにするにはどうしたらよいでしょうか?

  • ACCESSの学び方について

    初歩的な質問で失礼いたします。 私は人から教えてもらったり参考書をみたりしてACCESSを勉強している者です。まだ全然駄目なんですが、自分のやり方が正しいかどうか教えて下さいm(__)m たとえば、シンプルな顧客情報入力画面を作成したいとき、私は (1)テーブルを作成(T_1) (2)T_1を基に入力フォームを作成(F_1) (3)T_1にデータが蓄積されていき、それを基に検索したり削除したりする。 ・・といった感じです。 しかし、本やネットで見てみると他にも色々方法がありますよね。 たとえば、 (1)テーブルを作成(T_1) (2)T_1を基に入力フォームを作成(F_1) (3)F_1の追加ボタンを押下すると、追加クエリと削除クエリが実行される。 追加クエリ・・・新たなテーブルが作成される(T_2) 削除クエリ・・・T_1のデータを削除 (4)T_2にデータが蓄積されていき、それを基に検索したり削除したりする。 はたまた、こんなまどろっこしいことしないで、フォームを作って それに長いプログラムをあてはめる(InsertRecordメソッドとか?) があるかと思われます。 長くなって申し訳ありませんが、質問をまとめます。 <1>テーブルやフォームをわざわざ作って組み立てていく方法はあまり好ましくないのでしょうか? <2>テーブルやフォームを作成して組み立てていく場合、上の例ではどちらが正解なのでしょうか。また、もっとこうしたほうがいい!というアドバイスをいただけたら幸いです。

  • ACCESS2000で新規レコードを自動表示

    お願いします。 ACCESS2000を使用しています。 フォームを使用してレコードにデータを登録したいのですが、 フォームからテーブルを開いた時に常に新規レコードが表示されるようにできませんか? 通常ですと、1レコードからの表示になると思います。 (レコードの移動ボタンを消して、新規レコードのみの表示にさせたいのです。)

専門家に質問してみよう