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

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

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

no image

AccessでレポートにMeキーワードを含む場合のコードの共通パーツ化

Accessで、レポートにMeキーワードを含む場合の、コードの共通パーツ化・標準モジュールへのまとめ化に悩んでいたら、こういう記事を見つけた。 標準モジュールで「Meキーワードの使用方法が不正です」 …

no image

Access2007でテキストファイルエクスポートしたら1文字ずれる

Access2007で、指定フィールドからLeft関数で10文字とったクエリを作り、固定長でテキストファイルにエクスポートしたら、5000件のデータのうち3件だけが、文字が末尾に1桁多く入り、後ろがず …

no image

客先で動かしているAccessとFAXの連携システムが昨日から止まっている

これまでのWindowsXP+OutlookExpressであれば問題なかった。 しかし、OSはWindows7になってしまい、メールはWindowsLiveメールになってしまった。 そしてWindo …

no image

AccessからExcelフォーマットでファイルに出力するサンプルコード

Excelから外部データの接続の際に,ユーザー定義関数を含んだクエリを指定するとエラーになったので、こんなやり方で対処。 Private Sub btnB2_Click() DoCmd.OutputT …