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 not in クエリ」とか「forms access in 抽出条件 複数」とかでググっても出てこなかったので、メモ

Accessでフォームからクエリに抽出条件をパラメータで渡すやり方が分からなくて、数時間苦労。 このタイトルがGoogleの肥やしになって、このサイトに来てくれる人が増えれば。。。 要するに私がやりた …

no image

Access2007 Runtime

MS-Access Discovery – [News] 速報:Access 2007 ランタイムはバグフィックスのため延期 http://x7net.com/~access/index. …

no image

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

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

no image

AccessのデータをGoogleスプレッドシートに表示する

会社のネットショップで、お客様から電話で荷物の出荷状況について問い合わせがあった場合に、現状ではすぐに対応できていなかった。 荷物の伝票番号は、クロネコヤマトのB2のソフトか、あるいはAccessの業 …

no image

Accessでレコードコピー(オートナンバー除く)の決定版のコード!

Accessで、レコードのオートナンバーを除くフィールドを1行、複製(コピー)したくって、Google検索したのだけどなかなか出てこず、しかしやっと見つけた、黄金のソース・・・・。 [VBA] ADO …