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

Accessで、見積書のような「サブフォームつきフォームを丸々コピー」する方法・・・見つけるのに、四苦八苦。

最初、複雑でかつ読み取り専用のクエリを元にしたフォームをコピーしようとしていたために、 acCmdPasteAppendのラインで「コマンドまたはアクション”追加貼り付け”は無効です」のエラーが出て、 …

no image

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

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

no image

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

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

Access「実行時エラー3061 パラメータが少なすぎます。2を指定してください」で意外な決着

クロス集計クエリをVBAで読むときで、かつパラメータクエリを使う場合には、クエリのパラメータパネルで、別途、パラメータを指定しなくてはならない(VBAで使わないなら不要) 本日のトラブルは、その後、W …

no image

Accessでのテーブルのエクスポート定義

Access2007のテーブルをcsv保存したいのだが、結果ファイルにダブルコーテーションを付けたくない・・・。 ダブルクォーテーションつきであれば、例えば、 DoCmd.TransferText a …