過去ログ

                                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

 ───────────────────────────────────────  ■題名 : Re:別フォームからの検索  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/10/28(月) 12:15  -------------------------------------------------------------------------
   なるチャンさん、こんにちは

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

 ───────────────────────────────────────  ■題名 : Re:別フォームからの検索  ■名前 : なるチャン  ■日付 : 02/10/28(月) 12:33  -------------------------------------------------------------------------
   ありがとうございます。
検索の件は、ご指示のとおりFindnextで解決しました。
こうちゃんに心から、お礼を申し上げます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 80