SSブログ

アクセス小僧:レコード番号とレコード数(2) [コンピューター]

http://cheese999.blog.so-net.ne.jp/2017-07-27-2

で、CurrentRecordとDCountを使用して、フォームで開いているテーブルのレコード番号とレコード数を表示するマクロを紹介しました。

今回は、

・現在開いているテーブルのレコード数⇒RecordCount
・開いているレコードの番号⇒CurrentRecord

としたマクロを作ってみました。再クエリ(Requery)を行った後にレコード番号(CurrentRecord)とレコード数(RecordCount)を表示させます。

・再クエリ(Requery)前にBookmarkを退避して、再クエリ(Requery)後に戻しているのは、再クエリ(Requery)で先頭レコードに移動してしまうからです。

・再クエリ(Requery)後、最終レコードへ移動(MoveLast)、先頭レコードへ移動(MoveFirst)を実行していますが、これをしないと、RecordCountが1になってしまい、レコード数が正しく表示できません。

・このマクロを流用するときは、OpenRecordsetの"T_テーブル名"を開いているテーブル名で置換します。

Private Sub 再クエリ_Click()
  '【機能】再クエリ
  On Error GoTo ERR1
  '【引数】
  ' なし
  '【変数】
  Dim db1 As DAO.Database ' データベース
  Dim rs1 As DAO.Recordset ' レコードセット
  Dim varBookMark As Variant ' ブックマーク
  ' 【コード】
  ' パスワード管理テーブルをレコードセットとして開く
  Set db1 = CurrentDb()
  Set rs1 = db1.OpenRecordset("T_テーブル名", dbOpenDynaset)
  'レコードセットのブックマーク(再クエリ前のカレントレコード)を取得
  varBookMark = rs1.Bookmark
  rs1.Requery ' 再クエリ
  rs1.MoveLast ' 最終レコードへ
  rs1.MoveFirst ' 先頭レコードへ
  'カレントレコードを保存されているブックマークに設定
  rs1.Bookmark = varBookMark
  MsgBox ("CurrentRecord=" & CurrentRecord & "/" & rs1.RecordCount)
  [Record_No1] = CurrentRecord & "/" & rs1.RecordCount
  'レコードセット、データベース変数の解放
  Set rs1 = Nothing
  Set db1 = Nothing
  'Subを抜ける
  Exit Sub
ERR1:
  MsgBox ("エラー" & vbCrLf & Err.Description)
  'レコードセット、データベース変数の解放
  Set rs1 = Nothing
  Set db1 = Nothing
End Sub
ヤバイぜ!(12)  コメント(3)  トラックバック(0) 
共通テーマ:パソコン・インターネット

ヤバイぜ! 12

コメント 3

cheese999

ヤバイぜ! ありがとうございます[__猫]
by cheese999 (2017-07-30 11:48) 

tarou

お早うございます、諏訪湖にコメントを有難うございました。
湖畔には亀が乗った、遊覧船が停泊していました、
珍しかったのでパチリでした。

私には難し過ぎて、理解できないのが残念です(~_~)
勉強してみたいですが、どこから手をつけたら
良いのかな・・・・、です。

by tarou (2017-07-31 06:46) 

cheese999

tarouさん、
コメントありがとうございます。

やっぱり難しかったですか。。
タイトルに「小僧」と付けたのは、できる限り簡単にという思いで始めたのですが、アクセスとか、VBAとか、なじみのない方からすると、かなり難しい、ということが分かりました。

本屋さんに行くと、アクセスの本なんて、ワード、エクセル、パワーポイントに比べると全然少ないし、一番簡単、と書かれている本を買ってきて、アクセスでデータベースを作ってみたものの、未だによくわかっておりません。

分からないなりに、他人様の作ったマクロ(プログラム)を参考に、試行錯誤した結果、何とか使えそうなものができたとき、このブログで紹介させてもらっています。

コンピュータって、登場してから、何年たったか分かりませんが、「使えなければ、タダの箱」から成長していないなあ、と思っています。

もし、何がやりたいのか、コメントいただければ、何かアドバイスできるかも、しれません。
by cheese999 (2017-08-01 05:20) 

コメントを書く

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

Facebook コメント

トラックバック 0

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

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