プロが教えるわが家の防犯対策術!

http://www.okweb.ne.jp/kotaeru.php3?q=361223

でも質問したのですが、今になってから新たなことが判明しました…

ビル区分 テナントコード
----------------------
   01    100
   01    101
   01    102
   02    100
   02    101
   02    103

テナントコードがダブっていないもの、例えば01、102であれば問題なく動作するのですが、ダブっている場合表示されません…

01、100も02、100のときもどちらも検索できるようにしたいのですがどうすればいいですか?

今のコードは

Private Sub btn検索_Click()

Dim rs As Recordset
Set rs = Me.RecordsetClone

--------------------------------------------------

rs.FindFirst "[テナントコード]='" & Me![cbo検索テナントコード] & "'"

Me.Bookmark = rs.Bookmark
cbo検索ビル区分 = Null
cbo検索テナントコード = Null

Me.Filter = "ビル区分 = '" & Me!cbo検索ビル区分 & "' AND テナントコード = '" & Me!cbo検索テナントコード & "'"

--------------------------------------------------

End Sub

です。お願いします

A 回答 (1件)

こんにちは。

maruru01です。

やりたいことは、[btn検索]ボタンをクリックすると、コンボで選択したビル区分&テナントコードのレコードに移動するということでしょうか。
最初にテナントコードの条件だけで、レコードを移動しているのは何故でしょうか。
ここで、ビル区分の条件も合わせて移動すればいいと思うのですが。
また、フォーム(Me)にFilterをかける前に、各コンボにNullをセットしてしまっているので、Filterで抽出されるはずはないですよ。
コードの1行1行でどういう動作を行っているかを順を追って考えてみて下さい。
なお、以下のコードで出来ると思います。
あと、一度参照した(Setした)レコードセットは、閉じて(Close)解放(NothingをSet)するようにして下さい。


Private Sub btn検索_Click()

  Dim rs As DAO.Recordset 'DAOのRecordsetオブジェクト

  'フォーム(Me)のレコードを参照する
  Set rs = Me.Recordset.Clone

  'ビル区分とテナントコードで検索
  rs.FindFirst "ビル区分 = '" & Me!cbo検索ビル区分 & "' AND テナントコード = '" & Me!cbo検索テナントコード & "'"
  'フォームのカレントレコードに設定する
  Me.Bookmark = rs.Bookmark

  'コンボボックスを初期化
  Me!cbo検索ビル区分 = Null
  Me!cbo検索テナントコード = Null

  'レコードセットの解放
  rs.Close: Set rs = Nothing

End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!