Page 80 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼別フォームからの検索 なるチャン 02/10/25(金) 11:21 ┗Re:別フォームからの検索 こうちゃん 02/10/28(月) 12:15 ┗Re:別フォームからの検索 なるチャン 02/10/28(月) 12:33 ─────────────────────────────────────── ■題名 : 別フォームからの検索 ■名前 : なるチャン ■日付 : 02/10/25(金) 11:21 -------------------------------------------------------------------------
はじめまして。 Access2002プログラムで困っております。 やりたい事は、以下です。 1.テーブルから起こしたフォーム(Manual_TB)上に検索ポタンをつける 2.検索を押すと、検索用のフォーム(Seek_TB)が表示される 3.検索用フォームは、以下の構成ある テキストポックス(txt_seek) 「検索ボタン」「次検索ボタン」「キャンセル」 4.その中のテキスト蘭にキーボードから入力して3.の「検索ボタン」を押すと1.のフォーム上で検索され、該当のデータが表示される。 以下のソースを書きましたが、最初の一件しか検索してくれません。1.のフォームに「AAA」というデータが2件入っていても、最初の一件のみ検索して、「次検索ボタン」を押しても2件目のデータが表示されません。 おそらく、Bookmarkの処理が悪いと思うのですが、どのように直したらよいでしょうか? ---------------------------------------------------------------- Option Compare Database Private Sub Form_Load() End Sub Private Sub txt_seek_BeforeUpdate(Cancel As Integer) End Sub Private Sub 検索_Click() Dim rs As DAO.Recordset Set rs = Forms!Manual_TB.RecordsetClone rs.FindFirst "作業内容 = '" & Me!txt_seek & "'" If rs.NoMatch Then Beep MsgBox "見つかりません" Else Forms!Manual_TB.Bookmark = rs.Bookmark End If rs.Close: Set rs = Nothing End Sub Private Sub 次検索_Click() Dim rs As DAO.Recordset Set rs = Forms!Manual_TB.RecordsetClone rs.Bookmark = Forms!Manual_TB.Bookmark rs.FindFirst "作業内容 = '" & Me!txt_seek & "'" If rs.NoMatch Then Beep MsgBox "最後まで検索しました" Else Forms!Manual_TB.Bookmark = rs.Bookmark End If rs.Close: Set rs = Nothing End Sub Private Sub キャンセル_Click() DoCmd.Close DoCmd.Close acForm, "Seek_TB" End Sub |
なるチャンさん、こんにちは FindFirstはブックマークにかかわらず、レコードセットの先頭から検索します。 FindNextを使ってください。 >Private Sub 次検索_Click() > > Dim rs As DAO.Recordset > Set rs = Forms!Manual_TB.RecordsetClone > rs.Bookmark = Forms!Manual_TB.Bookmark > > rs.FindFirst "作業内容 = '" & Me!txt_seek & "'" rs.FindNext "作業内容 = '" & Me!txt_seek & "'" > > If rs.NoMatch Then > Beep > MsgBox "最後まで検索しました" > Else > Forms!Manual_TB.Bookmark = rs.Bookmark > End If > > rs.Close: Set rs = Nothing > >End Sub |
ありがとうございます。 検索の件は、ご指示のとおりFindnextで解決しました。 こうちゃんに心から、お礼を申し上げます。 |