MS Access

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

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

ちょっとだけ苦労した。

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

  1. 現在の値を変数に入れておく(これをしておかないと、次の処理でデザインビューに切り替わるために入力した値も消える)。
  2. フォームをデザインモードにする。
  3. 既定値をセットする(フォーム名はme.nameを使いたかったがデザインモードだと参照できないためにエラーになる)

[sourcecode]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[/sourcecode]

追記2018/04/12(木) もう一つのやり方・・・
[sourcecode]
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

[/sourcecode]

-MS Access

執筆者:

関連記事

no image

Accessの複雑な処理のレポート帳票で1ページのみ出力されるはずが2ページ目になぜかページヘッダーが出るトラブルに見舞われ

レポートのデザインビューでいうと上から、レポートヘッダー、ページヘッダー、グループヘッダー、詳細、グループフッター、ページフッター、レポートフッター・・・というような、結構細かいレポートを作っている。 …

no image

SqlServer 2008 Express R2 をインストールしようとしているのだが、最後の最後でうまくいかない

前回、試しに自分の普段のPCでSqlServer2008をインストールしたのだが、今回はサーバ(といってもXP)を対象に同様のことをしてみた。 しかしインストールの最後で「there was an e …

no image

パラメータクエリにパラメータをセットして実行した結果をデータシートで表示する」というコードの実行で3065エラー

Accessの仕様として、パラメータクエリだけが駄目なのかと思ったら、なんと選択クエリが駄目なのだそう。 理由は、Executeメソッドはアクションクエリのもので、選択クエリのものではないからだそう。 …

もう何度もAccessの集計クエリの作成をミスって怒られている

私が悪い。反省。 自戒のメモ。 Accessの集計クエリに条件を加えたい場合、その条件をどこに書くかによって結果が全く違ってくる。 それをわかってはいるのだが・・・最大やら演算やら、細かいことを同時に …

no image

AccessやExcelで作ったハイパーリンクではChromeブラウザ上のGmailの受信トレイを検索できんかった・・・がShellならできた

Accessのフォームにつくったボタンをクリックしたら、ハイパーリンクに変数がセットされ、その変数でGmailの受信トレイを検索する・・・・といった仕組みを作りたかった。 [code]Private …