So-net無料ブログ作成

アクセス小僧:再クエリ後、再クエリ前のカレントレコードを表示(2) [コンピューター]

前記事
http://cheese999.blog.so-net.ne.jp/2017-07-14-1

では、再クエリ後、再クエリ前のカレントレコードを表示する方法として、Bookmarkを使用したマクロを紹介しました。もう1つの方法として、CurrentRecordを使用したマクロを紹介します。

Private Sub USSaveReq1_Click()
  '【機能】保存して更新
On Error GoTo myError
  '【引数】
  ' なし
  '【変数】
  Dim myCurRcd1 As Long ' CurrentRecord
  ' 【コード】
  myCurRcd1 = CurrentRecord ' 現在のCurrentRecord
  'MsgBox ("現在のCurrentRecord=" & CurrentRecord)
  DoCmd.RunCommand acCmdSaveRecord ' 保存
  Me.Requery ' 更新
  DoCmd.GoToRecord , , acGoTo, myCurRcd1 ' 更新前のレコードへ
  'MsgBox ("CurrentRecord=" & CurrentRecord)
  Exit Sub
myError:
  MsgBox ("エラー" & vbCrLf & Err.Description)
End Sub

Requeryする前に、何番目のレコードがカレントになっているか、CurrentRecordの値を退避して、Requeryした後に、GoToRecordでRequery前のカレントレコードに移動します。

ちなみに、このマクロは、Microsoft Access クラス オブジェクトに置いておきます。

(PS) マクロを修正しました。CurrentRecordは、長整数型 (Long Integer) なので、myCurRcd1変数は、Integerではなく、Longとしました。

【参考】
Form.CurrentRecord プロパティ (Access)
https://msdn.microsoft.com/ja-jp/library/office/ff821182.aspx

ヤバイぜ!(14)  コメント(2)  トラックバック(0) 
共通テーマ:パソコン・インターネット

ヤバイぜ! 14

コメント 2

沈丁花

有り難うございます。食欲だけは誰にも負けません(笑)
太鼓判を戴いて益々元気を出して。。。
私褒められのが大好きです。食べ過ぎに気を付けて笑顔で頑張りますm(__)m アリガトォ(._.)オジギ
by 沈丁花 (2017-07-16 07:49) 

cheese999

ヤバイぜ! ありがとうございます[__猫]

沈丁花さん、
人間、怒られるより、褒められたほうがいいですよね。
(中には、叱られてイイ気持ちになる人も。。?)
by cheese999 (2017-07-16 08:12) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字(英大文字の「オー」、英小文字の「ユー」、アラビア数字の「ハチ」、アラビア数字の「イチ」、アラビア数字の「ニ」)を入力してください。

Facebook コメント

トラックバック 0

トラックバックの受付は締め切りました