• 締切済み

Access テーブルの添付ファイル型への登録2

お世話になります。 http://okwave.jp/qa/q9184565.html の続きとなります。 フォーム上の添付ファイルコントロールからファイルを追加すると その時点で?、レコードが作成されてしまいます。 ※実際にはフォームを閉じたときかも。 なお、添付ファイルコントロールのコントロールソースは テーブルの「添付ファイル」としてます。 添付ファイル型のフィールドをコントロールソースとして設定して おかないと、フォーム上の添付ファイルコントロールにて ファイルの追加ができない(クリップマークが出てこない) という認識なのですが・・・間違ってますでしょうか。 ご教示の程、宜しくお願い致します。

みんなの回答

回答No.1

フォームを閉じるときなどに自動的に保存されるのは今に始まった話ではありません。 ※オプション クライアントの設定→確認のレコードの変更にチェックが入っていれば確認メッセージが出ます。 添付ファイルフィールドの有無は関係ありません。 レコードの移動やリクエリ等でも保存されます。 フォームの更新前処理に Me.undo Cancel=true とでも・・・。Me.newrecord プロパティやMe.dirtyなども参考に。 >間違ってますでしょうか この辺をご参考に。 https://www.google.co.jp/search?q=Access+%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89&ie=utf-8&oe=utf-8&hl=ja#hl=ja&q=Access+%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB

naoto0216
質問者

お礼

NotFound404さま 返信が遅くなりすみません。 >添付ファイルフィールドの有無は関係ありません。 失礼しました。仰る通りです。 添付ファイルフィールドに限らず、テキストボックスも同様でした。 コントロールソースを設定する=直接テーブルのフィールドが更新 されるってことなんですね。 で、フォームの「キャンセル」ボタンにMe.Undoを仕込む等して 更新された内容をキャンセルするって感じでしょうか。 今まで、フォームにコントロールソースを設定して作ったことが ないかもしれません。。UndoもDirtyも使ったことないし。。 例えば、修正画面を開くときは、前画面で選択されたIDでFindFirstして 修正画面のコントロールに該当フィールドの値をそれぞれコピー。 で、登録ボタンが押されたら、IDでFindFirstして各コントロールの 値を該当フィールドに上書き・・ってやり方をしてました。 ちょっと質問の内容がそれてしまいましたが、今回は新規登録画面で 添付ファイルコントロールが使えればと思ってます。 考えてみたのですが、新規登録画面を開くときにテンポラリテーブル を作成し、新規登録画面の各コントロールはテンポラリテーブルを レコードソースとします。 新規登録画面上で添付ファイルを選択したり、各フィールドに入力がされ るとテンポラリテーブルが更新され、最終的に登録ボタンがおされたら テンポラリテーブルを本チャンのテーブルに追加すればいいのかなと。 ・・って考えてみましたが、添付ファイルコントロールを使うために こんなことをやる必要があるのでしょうか。 もっとスマートなやり方があると思うのですが。。その辺をご教示 頂けると幸いです。 度々すみませんが宜しくお願い致します。

関連するQ&A

専門家に質問してみよう