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とBASP21で正規表現を使ってメール文から必要事項を取り出すサンプル

Accessで正規表現を使いたかったのですが、ネット上にはサンプルが少なく、苦労したので、とりあえずツギハギで作った私のコードを披露したいと思います。 Accessで正規表現を使うには、BASP21を …

Accessのオブジェクトをデスクトップに作っておくと超便利

結構、知らない人が多いんじゃないかな。 クエリとか、フォームへの直接のリンクを、PCのデスクトップに作れること。 ユーザーがたくさんいて、その中の一部の人には、閲覧はして欲しいけど、編集はして欲しくな …

no image

テキスト型の日付をformat関数で揃える

CSV形式のデータからAccessにインポートしたものだから、日付が2012/5/5やら2012/05/05やら、文字列扱い(日付型でない)の混在したデータの入ったテーブルがある。 これをきちんと並べ …

no image

Accessでフォームフィルタの結果をExcelにエクスポートする

ちょっと、苦労した。 Private Sub cmdDMデータ作成_Click() On Error GoTo Err_cmdDMデータ作成_Click Dim rstf As String Dim …

no image

Accessで複数の用紙サイズ・向きの帳票を印刷したいが2枚出るとか、思ったようにならないなら

私がAccessで作った会社の業務管理システムは、帳票類がほとんどA4縦の用紙で出力されるようになっている。 しかし、一部の帳票、というか封筒は、長三サイズと、角6サイズをの用紙にしないと、プリントが …