MS Access

DoCmd.GoToRecordよりもMe.SaveよりもMe.Refresh

投稿日:2012年1月24日 更新日:

Accessで、一旦フォーム上のレコードを保存したいとき、

Me.Save

とやってもレコードが保存されない。

そこで、今までは、DoCmd.GoToRecordで無理矢理レコードを移動して保存していたのだが、これだと、アクティブコントロールの移動に伴って画面がスクロールしてしまう。

ちゃんとしらべたところ、レコードの保存は、Me.Refreshを使うのが正解とわかった。

ちなみにMe.Saveは、「フォーム」の保存であって、レコードの保存ではない・・・。

さっき(この記事を書いてから5年後)、Me.Saveでやっていてレコードの保存がうまくいかなくて、なんでやとGoogleで検索したら、自分のこの記事がヒットした。備忘録として書いておきながら、すっかり忘れておった。何度も同じ間違いをしている俺って。本当のあほや。

-MS Access

執筆者:

関連記事

no image

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

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

no image

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

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

no image

Accessでレポートのレコードソースを動的にセットしたい

今までは、フォーム上のボタンをクリックしたら、レポートをデザインで開いてからレコードソースをセットしなければならないと思っていた。 つまり、こんなやり方をやっていた。 フォーム:  【ボタン1をクリッ …

no image

Accessで DoCmd.RunSQL を CurrentDb.Executeにしたら、1秒高速化した

処理が遅いので速くして欲しいとの要望があったので、コードを調査。 DoCmd.RunSQL を CurrentDb.Execute に置き換えると非同期で実行されるとの情報を得たので、試す。 結果、6 …

no image

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

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