SSブログ

アクセス小僧:再クエリ後、再クエリ前のカレントレコードを表示(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

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

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。