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のパラメータは クエリのみならず、SQL文字列でも できるとは。。。

以下のリンクが参考になった。 パラメータの設定方法がわかりません。パラメータの設定を行ってい… – Yahoo!知恵袋 以下は、自分の業務で作成したコード。 Dim dbs A …

no image

AccessのDoCmd.OpenForm acPreviewでデータが表示されない

なぜか、フォームに新規データを入力し、印刷プレビュー(DoCmd.OpenForm “見積請求書F”, acPreview)した際に、それまで入力したデータが消えたようになる。 …

Accessで複数レコードを1レコードにまとめる(運送会社送り状作成のため

Accessに入れてある楽天の注文データをもとに、運送屋さんの送り状伝票を作ろうと思い立った。 しかし、楽天の注文データは、同一の受注番号で複数の商品に分かれている。 例えば一人の人が3点買い物をした …

no image

Accessで「イベントプロパティに指定した式MouseMoveでエラーが発生しました。フォームまたはレポート上のActiveX コントロールを読み込むときにエラーが発生しました。」

フォームに配置したプログレスバーコントロールの上をマウスポインタが横切ろうとすると、必ず上のエラーメッセージが表示される。 原因がわからず、対処もできず、困っていた。 Google先生も頼りにならず、 …

no image

初めてのSQL Server 2008 R2 Express Editionでつまづいたことの記録

やりたかったことは、 1.Accessのとあるテーブルを、SQL Server 2008にインポートして、複製を作る。 2.上記で作ったテーブルを、AccessからODBCで読め、かつパススルークエリ …