dポイントプレゼントキャンペーン実施中!

Access2000です。

名前を「Me!txt名前」に入力して「cmd探す」をクリックすると「メソッドまたはデータメンバが見つかりません」

「rs.FilterOn = True」でデバッグが中止します。
どなたかアドバイスお願いします。

------------------------------
Private Sub cmd探す_Click()

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
  Dim strRet As String

Set cn = CurrentProject.Connection
rs.Open "Q_修正", cn, adOpenKeyset, adLockOptimistic
strRet = "使用者氏名 Like'" & Me!txt名前 & "*'"

rs.Filter = strRet
rs.FilterOn = True

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

A 回答 (4件)

#3です。



よくみたら
「..... Like' ......」の箇所は、
「..... Like ' ......」とスペースが必要なのでないかと。

(先の私の回答もご提示のコードをコピペしたので「Like'」となってしまってますが…)
    • good
    • 0

ご提示のコード以降の処理内容が分からないので


何ともいえませんが、普通に

------------------------------
Private Sub cmd探す_Click()

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strRet As String
Dim strSql As String '勝手に変数を追加しました

strSql = "SELECT * FROM Q_修正 WHERE 使用者氏名 Like'" & Me!txt名前 & "*'"
Set cn = CurrentProject.Connection
rs.Open strSql, cn, adOpenKeyset, adLockOptimistic


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

ではいけないのでしょうか?
    • good
    • 0

Recordsetに、そのFilterOnプロパティはありません。



Recordset.Filterの値二つの状態があり
1、Recordset.Filter=""、Recordset.Filterに無効になる
2、Filter文がある、Filterに有効になる


だから、正しいコード:
------------------------------
Private Sub cmd探す_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strRet As String

Set cn = CurrentProject.Connection
rs.Open "Q_修正", cn, adOpenKeyset, adLockOptimistic
strRet = "使用者氏名 Like'" & Me!txt名前 & "*'"
rs.Filter = strRet
------------------------------

この回答への補足

ありがとうございました。

しかし
「rs.Filter = strRet」
でデバッグが中止してしまいました。

補足日時:2008/05/13 17:35
    • good
    • 0

RecordsetオブジェクトにFilterOnというプロパティはありません。


Formオブジェクトにはあります。"Q_修正"をレコードソースにしているFormで、
Filter、及びFilterOnプロパティを操作することは考えられます。

参考URL:http://msdn.microsoft.com/ja-jp/library/cc426691 …
    • good
    • 1

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