MS Access

Accessのフォームでテキストボックスに入れた値を次回オープン時の既定値として自身に保存するには

投稿日:2013年4月10日 更新日:

ちょっとだけ苦労した。

次回もきっと使うことがあるだろうから、メモメモ。

  1. 現在の値を変数に入れておく(これをしておかないと、次の処理でデザインビューに切り替わるために入力した値も消える)。
  2. フォームをデザインモードにする。
  3. 既定値をセットする(フォーム名はme.nameを使いたかったがデザインモードだと参照できないためにエラーになる)
Private Sub cmd閉じる_Click()
Dim dateTyumon, dateNyukin, dateHagaki As Variant
datebval = Forms("期間指定メール送信").txt注文日経過.Value
dateNyukin = Forms("期間指定メール送信").txt入金日経過.Value
dateHagaki = Forms("期間指定メール送信").txtHagaki1経過日.Value
DoCmd.OpenForm Me.name, acDesign '一旦デザインモードにしないと既定値は変更できない
Forms("期間指定メール送信").txt注文日経過.DefaultValue = "#" & datebval & "#" '日付形式で保存しないと日時が不正になる
Forms("期間指定メール送信").txt入金日経過.DefaultValue = "'" & dateNyukin & "'"
Forms("期間指定メール送信").txtHagaki1経過日.DefaultValue = "'" & dateHagaki & "'"
DoCmd.Close acForm, "期間指定メール送信", acSaveYes
End Sub

追記2018/04/12(木) もう一つのやり方・・・

Private Sub cmd閉じる_Click()
DoCmd.SetWarnings False
    Dim r
    r = Me.txt注文日経過
    DoCmd.Close
    DoCmd.OpenForm "期間指定メール送信", acDesign
    Forms("期間指定メール送信").Controls("txt注文日経過").DefaultValue = "'" & r & "'"
    DoCmd.Close
DoCmd.SetWarnings True
End Sub

-MS Access

執筆者:

関連記事

no image

Office2013のSELFCERT.EXEの場所

さがして、やっと見つかった。 自分のPC環境の場合は、以下だった。 C:\Program Files (x86)\Microsoft Office\Office15 参考にしたブログによっては、C:\ …

no image

Access 2007 Runtime Released

とうとうこの日がきたか。 「6/26公開」「6/27ダウンロード中止」「7/20再公開」って経緯で、今日現在ダウンロードできる。 MS-Access Discovery – ニュース Ac …

no image

AccessでNot in だと Null が抽出されないのは

以下のページに詳しく。 ACCESS クエリ 条件以外のレコードを抽出するには? – Access(アクセス) 解決済 | 教えて!goo <http://oshiete.goo.n …

FileMakerで画像ファイルを一括インポート

私はAccessとの付き合いが長いので推しソフトなのだが、FileMakerはAccessに無い機能や表示が多いうえ、デザインの自由度になるとAccessを凌駕するので、まったく侮れない。 最近、Fi …

no image

Accessで実行時エラー’2465′ 指定した式で参照されている’txt区分’フィールドが見つかりません

VBAでフォームをMe.RecalcあるいはMe.Requeryしただけで、タイトルのエラーが出るケースに遭遇。F9キーを押すと同じ動作になるはずだが、キー押下では上記エラーは出ず、不思議。 ネット検 …