Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Access 2010)
フォームを新規追加専用で開きたい
投稿日時: 17/05/29 09:56:03
投稿者: mendel

お世話になります。さっそく質問ですが・・・
 
データタブ:データ入力用/はい に設定済み
フォームを新規追加専用で開くにはどうしたらよいですか?
 
クエリからフォームを作成し、データソース/クエリ名となっている。
クエリは単一のテーブルのフィールドを並べ、
番号IDフィールドを降順に設定されている。
 
フォームの設定
書式タブ:既定のビュー/帳票フォーム
データタブ:レコードソース/クエリ名
データタブ:データ入力用/はい
 
フォームの詳細に配置したテキストボックスコントロールには、
すべて適切な値が設定されいる。
 
フォームを表示すると既存のレコードが全件数表示されてしまいます。
 
DoCmd.OpenForm "サブフォーム", acNormal, DataMode:=acFormAdd
としても同様に全件数表示されてしまいます。
 
「データ入力用/はい」に設定すれば、
新規追加用に何も入力されていない状態で開くと思っていました。
 
他に設定・確認する項目・手順などはありますか?
 
このフォームは今後、メインフォームのサブフォームとして組み込みます。

回答
投稿日時: 17/05/29 10:48:51
投稿者: sk

引用:
フォームの設定
書式タブ:既定のビュー/帳票フォーム
データタブ:レコードソース/クエリ名
データタブ:データ入力用/はい

引用:
フォームを表示すると既存のレコードが全件数表示されてしまいます。

引用:
DoCmd.OpenForm "サブフォーム", acNormal, DataMode:=acFormAdd
としても同様に全件数表示されてしまいます。

[サブフォーム]の Load イベント辺りで、
そのフォームのフィルター関連のプロパティを設定する
コード等を実行していたりはしないでしょうか。

投稿日時: 17/05/29 13:07:44
投稿者: mendel

sk様
 
お忙しい中、回答をつけていただいきありがとうございました。
 
データタブ:レコードセット/ダイナセット に変更。
 
データタブ:レコードセットが[スナップショット]に設定されていました。
フォームの値が不用意に変更等されるのを防ぐ目的で、[ダイナセット]が指定した。
 
レコードセットを[ダイナセット]に指定しなおしました。
 
ダイナセット・スナップショットの意味を正しく理解していないのが、原因でした。
 
合わせて、
データ入力用:はい
追加の許可:はい
削除の許可:いいえ
更新の許可:いいえ
 
と設定しました。
 
これで「フォームを新規追加専用で開きたい」との目的が達成できそうです。
 
この質問を「解決済み」とさせていただきます。