
こんにちは。いつもお世話になっております、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(アクセス)
-
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
-
4
access テキストボックスの値取得
Access(アクセス)
-
5
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
6
アクセスでテーブルの変更内容をフォームに反映させるには?
その他(データベース)
-
7
Access チェックボックスやオプションボタンのサイズ変更
Access(アクセス)
-
8
アクセスでサブフォームのレコードを取得したい。
Access(アクセス)
-
9
ACCESS 複数のフォームから同一テーブル参照
Access(アクセス)
-
10
フォームで入力しても反映されない
Access(アクセス)
-
11
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
12
Access サブフォームでの選択行の取得
その他(データベース)
-
13
非連結サブフォームのレコードソース
その他(データベース)
-
14
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
15
「フォームを作成できませんでした」
Access(アクセス)
-
16
Access2007のサブフォームのRequeryで悩んでいます。。
その他(Microsoft Office)
-
17
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
18
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
19
アクセス フォームをリクエリしたい
Access(アクセス)
-
20
Accessで埋め込んだサブフォーム(データシート形式)でデータ追加ができない
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access サブフォームでの選択行...
-
ACCSESS2013VBA フォームのレコ...
-
コンボボックスで選択実行後、...
-
アクセスで サブフォームの表...
-
AccessのFormのみをスクリーン...
-
access サブフォームにリストを...
-
(ACCESS)条件に応じて、テキ...
-
サブフォームが見えなくなる。
-
Accessで、サブフォームのある...
-
ACCESS合計の出し方
-
Access2000、これはいったい・...
-
サブフォームの金額合計をメイ...
-
サブフォームでのダブルクリッ...
-
保存されない理由は?accessvba
-
複数項目でのサブフォームとの...
-
アクセスVBA画面のスクロールバー
-
Accessでサブフォームを使った...
-
初心者です。accessで請求書を...
-
Accessで、一覧からクリックし...
-
サブフォームの切り替え方を教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access サブフォームでの選択行...
-
Access 複数フォームを...
-
(ACCESS)条件に応じて、テキ...
-
Access2000、これはいったい・...
-
access サブフォームにリストを...
-
サブフォームが見えなくなる。
-
Accessでサブフォームの中の並...
-
サブフォームでのダブルクリッ...
-
AccessのFormのみをスクリーン...
-
ACCSESS2013VBA フォームのレコ...
-
Accessのサブフォームから値を...
-
初心者です。accessで請求書を...
-
Access2000 サブフォームのReco...
-
2回目に画面のレコードセットの...
-
ACCESSでfilterとorderbyについて
-
Accessでのフォーム表示がうま...
-
別MDBのフォームを起動
-
Accessで、一覧からクリックし...
-
サブフォームのデータを保存す...
-
googleフォームでインストール...
おすすめ情報