MS Access

Accessでのキーワード検索(フィルタ)とブックマークの関係備忘録

投稿日:2010年9月1日 更新日:

Accessでのキーワード検索(フィルタ)とブックマークの関係を作るのに苦労したのでここに備忘録。

ポイントは、検索ではなくフィルタを使うことと、BookmarkではなくIDをグローバル変数に保存してFindFirstを使うこと。

簡単そうに見えて、作り終えたのは全力で2時間後。

Option Compare Database
Dim bmark As Variant 'ブックマーク用のグローバル変数

Private Sub 修正済みチェック_Click()
If チェック55 = True Then
Me.更新日.Value = Date
Else
Me.更新日.Value = Null
End If
End Sub

Private Sub Form_Open(Cancel As Integer)
Me![検索ボックス].SetFocus
End Sub

Private Sub 検索ボックス_AfterUpdate()
‘ コントロールの値と一致するレコードを検索する

Me.Filter = “[企業名] Like ‘*” & Me![検索ボックス] & “*'”
Me.FilterOn = True

bmark = Me.企業ID ‘フォーム上でのカレントレコードの位置保存

End Sub

Private Sub 移動後_Click()
On Error GoTo Err_移動後_Click
Dim rs As Object

Set rs = Me.Recordset.Clone
DoCmd.GoToRecord , , acNext

bmark = Me.企業ID ‘フォーム上でのカレントレコードの位置保存

Exit_移動後_Click:
Exit Sub

Err_移動後_Click:
MsgBox Err.Description
Resume Exit_移動後_Click

End Sub
Private Sub 移動前_Click()
On Error GoTo Err_移動前_Click

DoCmd.GoToRecord , , acPrevious
bmark = Me.企業ID ‘フォーム上でのカレントレコードの位置保存

Exit_移動前_Click:
Exit Sub

Err_移動前_Click:
MsgBox Err.Description
Resume Exit_移動前_Click

End Sub

Private Sub フィルタ解除_Click()
On Error GoTo Err_フィルタ解除_Click

Me.FilterOn = False

‘ブックマークを保存したレコードに戻る Dim rs As Object
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst “[企業ID] = ” & bmark
If Not rs.EOF Then Me.Bookmark = rs.Bookmark

Exit_フィルタ解除_Click:
Exit Sub

Err_フィルタ解除_Click:
MsgBox Err.Description
Resume Exit_フィルタ解除_Click

End Sub

-MS Access

執筆者:

関連記事

no image

「抽出条件 フォーム access not in クエリ」とか「forms access in 抽出条件 複数」とかでググっても出てこなかったので、メモ

Accessでフォームからクエリに抽出条件をパラメータで渡すやり方が分からなくて、数時間苦労。 このタイトルがGoogleの肥やしになって、このサイトに来てくれる人が増えれば。。。 要するに私がやりた …

no image

access覚書

複雑な親子フォームを作る際、テーブル設定でインデックスを2つのフィールドとも「はい (重複あり)」にすることで、親のコンボボックスに子が連動するようになった。 Excelでコピーした表データをテーブル …

no image

Accessのパラメータは クエリのみならず、SQL文字列でも できるとは。。。

以下のリンクが参考になった。 パラメータの設定方法がわかりません。パラメータの設定を行ってい… – Yahoo!知恵袋 以下は、自分の業務で作成したコード。 Dim dbs A …

no image

テーブル/クエリのデータシートビューでイベントを処理する方法

参考:テーブル/クエリのデータシートビューでイベントを処理する方法 | YU-TANG’s MS-Access Discovery え、そうなの? クエリを閉じた際のイベントをセットできる …

no image

Accessでメッセージ内容が無い(のっぺらぼう、OKボタンのみ)エラーメッセージがでる

自分作のモジュールの記述で、以下のように書いている箇所があって、 If rs.EOF = True Then GoTo Err_chkFukuyamaVcr ‘error Else   (中略) また …