SSブログ

アクセス小僧:検索フィルタ解除 [コンピューター]

アクセス小僧:検索
https://cheese999.blog.so-net.ne.jp/2019-02-19

で、レコード検索する前に、ソートを解除(Me.OrderByOn = False)するコードを追加する旨、紹介させてもらいました。

レコード検索マクロと対になっているマクロで、検索フィルタを解除するマクロがあるのですが。。。

レコード検索マクロでソートを解除してしまうと、レコードの並びが、人間にとって意味の無い、主キーの順番になってしまうので、医療費のデータベースでは、日付,領収書番号で並べ替えるように検索フィルタ解除マクロにコードを追加しました。

Private Sub Btn_検索フィルタ解除_Click()
  On Error GoTo ERR1
  '【変数】
  Dim myID As Long
  Dim MyStr1 As String ' 文字列
  Dim db As DAO.Database
  Dim rs As DAO.Recordset
  Dim Ans As Integer ' 答え
  '【実行コード】
  ' 直前に参照していたレコードのID
  myID = DLookup("F_医療費CR_ID", "T_CR医療費ID", "T_CR医療費ID_ID=1") ' IDを退避
  ' myID = [ID] ' IDを退避
  MyStr1 = "ID = " & myID
  Me.AllowAdditions = True '追加の許可
  Me.FilterOn = False ' フィルタ解除
  ' 直前に参照していたレコードのレコード番号を調べる
  Set db = CurrentDb()
  ' テーブルを開く
  Set rs = db.OpenRecordset("T_医療費", dbOpenDynaset)
  rs.MoveFirst ' 先頭レコードへ
  rs.MoveLast ' 最終レコードへ
  rs.MoveFirst ' 先頭レコードへ
  ' IDを検索
  rs.FindFirst MyStr1
  ' 並べ替え
  Me.OrderBy = "日付,領収書番号" ' 並べ替え条件
  Me.OrderByOn = True ' 並べ替え実行
  If rs.NoMatch Then
    ' IDが見つからなかった場合
    Ans = MsgBox(MyStr1 & "は存在しません。", vbExclamation, "注目!")
  Else
    ' IDが見つかった場合
    ' 直前に参照していたレコードにフォーム上で移動
    Debug.Print "rs.AbsolutePosition=" & rs.AbsolutePosition
    DoCmd.GoToRecord acDataForm, "F_医療費", acGoTo, rs.AbsolutePosition + 1
  End If
  rs.Close
  Set rs = Nothing ' 解放
  db.Close
  Set db = Nothing ' 解放
  ' With Me.Recordset
  ' .FindFirst MyStr1
  ' End With
  Exit Sub
ERR1:
  MsgBox ("エラー(検索フィルタ解除_Click)" & vbCrLf & Err.Description)
End Sub

フォームの画面イメージです。

form_Iryouhi.jpg

大尽が遅刻したらしいけど。遅刻が許されないのは確かだけど、3分の遅刻で、5時間国会が止まるのは、どうなんでしょうね。野党の皆さんも、5時間分の給料を返せ、と言われたら、どうしますか?

北海道で地震があったとか。地球が怒っているよ。。[猫]
ヤバイぜ!(11)  コメント(3) 
共通テーマ:パソコン・インターネット

ヤバイぜ! 11

コメント 3

cheese999

ヤバイぜ! ありがとうございます(^_0)ノ
by cheese999 (2019-02-22 04:51) 

トレンダー櫻井

(^o^)/
by トレンダー櫻井 (2019-02-22 05:03) 

cheese999

トレンダー櫻井さん、
(^_0)ノ 
by cheese999 (2019-02-23 06:59) 

コメントを書く

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

Facebook コメント

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