コンパイルエラーが出ます。助けて下さい。

解決済みの質問

コンパイルエラーが出ます。助けて下さい。

初歩的な質問ですみません。
参考書を参考に検索するVBAを書いたのですが、
12行目のFindfirstの所で、「コンパイルエラー:メソッドまたはデータメンバが見つかりません」
というメッセージが出てしまいます。

VBAは、下記の通りです。
宜しくお願いします。

********************************************************************************************************************************************
Private Sub 検索_Click()
  Dim kaizen_rs As Recordset
  Dim field_name As String
  Dim find_txt As String
  Dim criteria As String

  field_name = "提案内容"
  find_txt = InputBox("検索したい文字を入力してください。")
  criteria = field_name & "='" & find_txt & "'"

  Set kaizen_rs = CurrentDb.OpenRecordset("管理/提案テーブル", dbOpenDynaset)
  kaizen_rs.FindFirst criteria
    If kaizen_rs.NoMatch Then
      MsgBox find_txt & "は見つかりません"
    Else
      Do Until kaizen_rs.NoMatch
        MsgBox find_txt & "を" & kaizen_rs.AbsolutePosition + 1 & "レコード目で見つけました。"
        kaizen_rs.FindNext criteria
      Loop
    End If
End Sub

******************************************************************************************************************************************************

投稿日時 - 2004-08-15 03:47:10

連想キーワード:

QNo.962477

すぐに回答ほしいです

質問者が選んだベストアンサー

criteria = field_name & " like '*" & find_txt & "*'"

likeの前にブランクが必要です。

投稿日時 - 2004-08-16 11:46:47

お礼

できました(>_<)
ありがとうございました。

投稿日時 - 2004-08-16 12:55:58

ANo.7

2人が「このQ&Aが役に立った」と投票しています

[  前へ  |  ]

ベストアンサー以外の回答(6件中 1~5件目)

ANo.6

criteria = field_name & "like '*" & find_txt & "*'"

かな

投稿日時 - 2004-08-15 15:15:18

補足

そうですね。
*を検索したい文字の両方に付けないと
部分検索できないですよね(^^ゞ
でも、訂正して実行したら、
演算子がありませんという
エラーが出てしまいます。
そこで、デバックすると
kaizen_rs.FindFirst criteria
の部分が黄色くなります。
何が原因なのでしょうか。
教えてください。よろしくお願いします。

投稿日時 - 2004-08-16 10:03:58

ANo.5

違ってたらごめんなさい。初心者です。

criteria = field_name & "like'" & find_txt & "'"

↑LIKEのあとにスペースが要りませんか?

投稿日時 - 2004-08-15 08:24:15

補足

ありがとうございます。
私もす~ごく初心者なので、
分からない部分が多いので、みんなのお力を借りたいと思っています。

スペースが入っていました。
でも、訂正して実行したら、
演算子がありませんという
エラーが出てしまいます。
デバックすると
kaizen_rs.FindFirst criteria
の部分が黄色くなってしまいます。
何が原因なのでしょうか。

投稿日時 - 2004-08-16 09:56:46

ANo.4

  criteria = field_name & "='" & find_txt & "'"
だと一致したデータですよね?
部分的に一致だと

like *xxx*

とかにしたいといけなくないですか?

投稿日時 - 2004-08-15 05:16:01

補足

そうですね。
参考書に習って、
criteria = field_name & "like'" & find_txt & "'"
にしてみたんですけど、
syntax error(missing operation) in expression.
というエラーが起こっちゃいました。
一難去ってまた一難です。トホホ。

投稿日時 - 2004-08-15 05:32:45

ANo.3

Visual Basic for Application
Microsoft Access ‥
OLE Automation
Microsoft DAO ‥

Visual Basic for Application
Microsoft Access ‥
Microsoft DAO ‥
OLE Automation

でコンパイルしてみてください。
DAOが上の方に無いとエラーが出ます。

投稿日時 - 2004-08-15 04:27:29

補足

コンパイルエラーが出なくなりました!!
高順位に、教えてもらってないものが入ってました。
ありがとうございます。

しかし。。。テーブルに存在する文字を検索しても、検索に引っかかりません。
もし宜しかったら、一緒に考えてくださいませんか。

投稿日時 - 2004-08-15 04:44:30

ANo.2

Microsoft Accessなのは分かりましたよ^^;

で、モジュールを開いて、
[ツール][参照設定]を開くとどうなっていますか?

投稿日時 - 2004-08-15 04:14:06

補足

あっ、すみません。。。
Microsoft DAO 3.6 object Library
になってます。

投稿日時 - 2004-08-15 04:19:49

あわせてチェックしたい
  • FindFirst複数条件 ...
  • PerlでFindFirst/FindNext ...
  • DAO findfirst ついて教えてください。 ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら