こんにちは。いつもお世話になっております、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も見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
Access サブフォームでの選択行の取得
その他(データベース)
-
ACCESS フォームからサブフォームのデータを更新・入力したい
Access(アクセス)
-
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
-
-
4
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
5
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
6
新規レコード行を非表示にしたい
Access(アクセス)
-
7
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
8
フィルタ後のフォームの件数の取得の仕方
Access(アクセス)
-
9
ACCESSサブフォームにデータ反映されない
Access(アクセス)
-
10
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
11
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
12
ACCESSでコントロールソースの変更
Access(アクセス)
-
13
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
14
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
15
Access VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
-
16
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
-
17
Access VBA エラー2448について
Visual Basic(VBA)
-
18
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
19
角丸四角形を描きたい
Excel(エクセル)
-
20
Access2000 サブフォームのRecordSet取得法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access サブフォームでの選択行...
-
初心者です。accessで請求書を...
-
2回目に画面のレコードセットの...
-
(ACCESS)条件に応じて、テキ...
-
Accessで、一覧からクリックし...
-
サブフォームでのダブルクリッ...
-
googleフォームでインストール...
-
Access レイアウト変更したサブ...
-
チェックボックスでレコードの...
-
Access2000、これはいったい・...
-
[Access2000] フォーム間で値の...
-
Accessのサブフォームから値を...
-
access2007 コンボボックスでの...
-
AccessのFormのみをスクリーン...
-
Accessでサブフォームの中の並...
-
別MDBのフォームを起動
-
サブフォームの切り替え方を教...
-
Accessのサブフォーム内で連続...
-
アクセス2003 - レコード追...
-
access サブフォームにリストを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access サブフォームでの選択行...
-
Access 複数フォームを...
-
Access2000、これはいったい・...
-
ACCSESS2013VBA フォームのレコ...
-
Accessのサブフォームから値を...
-
access サブフォームにリストを...
-
(ACCESS)条件に応じて、テキ...
-
Accessで、一覧からクリックし...
-
Access2000 サブフォームのReco...
-
サブフォームが見えなくなる。
-
サブフォームでのダブルクリッ...
-
AccessのFormのみをスクリーン...
-
googleフォームでインストール...
-
2回目に画面のレコードセットの...
-
初心者です。accessで請求書を...
-
ACCESSでfilterとorderbyについて
-
ACCESSでサブフォームの...
-
アクセスで サブフォームの表...
-
レコードセットで得た結果をサ...
-
サブフォームのデータを保存す...
おすすめ情報