|
▼ゆずぽん さん:
こんにちは。
> 「コマンドボタンを押すと初めてテーブルにデータを転記する」というような操作
意外と難しい操作になってしまうんですよね。
方法A) 非連結のフォームにする
現在はテキストボックス等のコントロールソースに
フィールド名が指定されていると思われますが、
コントロールソースを空白にして
VBAのコードでフォームに表示、テーブルへ更新の作業を行わせる。
方法B) ワークテーブルを使う
元テーブルとまったく同じ型式のテーブル(ワークテーブル)を作り、
そちらのテーブルを基にフォームを作成します。
コマンドボタンを押すことにより、
ワークテーブルのデータを元のテーブルに移す方法。
方法C) Dirty状態を判断させる
レコードが保存されるタイミングは次の3点です。
・レコードの移動を行う
・フォームを閉じる
・VBAのコードで明示的にレコードを保存する
3番目はともかく、1,2番目に関して
レコードの移動やフォームを閉じる際に
「レコードを保存しますか?」のようなダイアログを出して
ユーザに選択させる方法。
どの方法も一長一短ですが、
代表的な手段としてはこの様なものがあるかと思われます。
|
|