![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
こんにちは。いつもお世話になっております、Access初心者です。
メインフォームからサブフォームを表示するようにしているのですが、
サブフォームのプロパティのレコードソースにローカルで作成した
テーブルを設定してあります。
サブフォームを開くとそのテーブルの内容が表示されますが、
プロパティで更新の許可、削除の許可、追加の許可をすべてはいに
設定していれば、サブフォームに表示されているデータを更新や追加などの
編集を行ったら、自動敵にテーブルに反映されるものと思っていたのですが、
反映されません。
何かコードを書く必要があるのでしょうか?
すみません、よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
テーブルと、そのテーブルをレコードソースとするフォームとを同時に開いた状態で
データの編集を行った場合、上書き更新であればすぐに表示に反映されますが
(→但し、No.1の方が回答されているように、未保存レコードは反映の対象外)、
レコードの削除・追加は自動的には反映されません。
(削除の場合は、行が削除される代わりに、コントロールに「#Delete」を表示)
従って、編集結果を全て反映した表示にするには、コード・マクロの記述が必要に
なります。
サブフォームの親フォーム上のコマンドボタンをクリックにより反映する、という形で
よいのでしたら、以下のようなコードで対応可能です;
(コントロールとしてのサブフォーム名=SF1、展開済のテーブル名=テーブル1、
コマンドボタン名=DatSync、とした場合)
'~~~以下を貼り付け~~~
Private Sub DatSync_Click()
'実行可否を確認(OKで実行、キャンセルで中止)
IF MsgBox("表示を更新します。",vbOKCancel,"確認")=vbCancel _
Then Exit Sub
'以下の1行により、サブフォームの表示を更新
SF1.Requery
'以下の3行により、テーブルの表示を更新&フォーカスをフォームに戻す
DoCmd.SelectObject acTable,"テーブル1",False
DoCmd.Requery
DoCmd.SelectObject acForm,Me.Name,False
End Sub
'~~~以上を貼り付け~~~
サブフォーム、テーブルの一方のみでよい場合は、不要な方を削除して下さい。
(サブフォームのみならテーブル更新側の3行を、テーブルのみならサブフォーム
更新側の1行を、それぞれ削除)
なお、この処理を行うと、編集中のレコードは強制的に保存され(値要求が設定
されているフィールドが未入力の場合はエラー発生)、テーブルでは同時に先頭
レコードに移動させられますので、ご注意下さい。
お礼が遅くなりすみません。
大変詳しく分かりやすくお答え頂きありがとうございました。
まだAccessは始めたばかりなのでとても勉強になりました。
ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) accessについて(超初心者です) 1 2023/02/11 11:18
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
Access サブフォームでの選択行の取得
その他(データベース)
-
ACCESS フォームからサブフォームのデータを更新・入力したい
Access(アクセス)
-
ACCESSでコントロールソースの変更
Access(アクセス)
-
-
4
新規レコード行を非表示にしたい
Access(アクセス)
-
5
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
6
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
7
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
8
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
-
9
Accessで、フォームに情報を入力途中で、やめる(レコードに保存しない)ということは出来ますか?
Access(アクセス)
-
10
カレントレコードがありません"とでてきます"
Access(アクセス)
-
11
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
12
Access VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
-
13
ACCESSで日付ごとに自動連番(日付+連番)する方法
Access(アクセス)
-
14
Access2010 「演算子がありません」エラー
その他(データベース)
-
15
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
16
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
17
Access レコードロックについて教えてください
その他(Microsoft Office)
-
18
Access2010 Enterで次テキストへ移動
その他(Microsoft Office)
-
19
ACCESSサブフォームにデータ反映されない
Access(アクセス)
-
20
フィルタ後のフォームの件数の取得の仕方
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access サブフォームでの選択行...
-
Access VBA acCmdSelectRec...
-
Access 複数フォームを...
-
Access VBA サブフォームの更新
-
Accessフィルターをかけたサブ...
-
初心者です。accessで請求書を...
-
サブフォームでのダブルクリッ...
-
サブフォームからメインフォー...
-
ACCESSにおいてのプロパティ(...
-
ms accessでのフォームの開き方
-
Accessのサブフォームから値を...
-
googleフォームでインストール...
-
アクセスVBA画面のスクロールバー
-
アクセスでサブフォームのレコ...
-
X-Ripperというフリーウェアに...
-
Accessのコンボボックスでリス...
-
ACCESSでVBAから選択クエリの抽...
-
エクセルで、抽出したデータだ...
-
Exitイベントから自分自身のコ...
-
PCゲーム 音声 画像 抽出方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access サブフォームでの選択行...
-
Access 複数フォームを...
-
Access2000、これはいったい・...
-
ACCSESS2013VBA フォームのレコ...
-
Access2000 サブフォームのReco...
-
(ACCESS)条件に応じて、テキ...
-
access サブフォームにリストを...
-
サブフォームが見えなくなる。
-
Accessのサブフォームから値を...
-
初心者です。accessで請求書を...
-
2回目に画面のレコードセットの...
-
サブフォームでのダブルクリッ...
-
アクセスで サブフォームの表...
-
アクセスでサブフォームのレコ...
-
googleフォームでインストール...
-
サブフォームのデータを保存す...
-
AccessのDoCmd.ApplyFilterの使...
-
サブフォームでフィルタしたデ...
-
Accessで、サブフォームのある...
-
Accessでのフォーム表示がうま...
おすすめ情報