解決済みの質問
初歩的な質問ですみません。
参考書を参考に検索する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
2人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(6件中 1~5件目)
criteria = field_name & "like '*" & find_txt & "*'"
かな
投稿日時 - 2004-08-15 15:15:18
補足
そうですね。
*を検索したい文字の両方に付けないと
部分検索できないですよね(^^ゞ
でも、訂正して実行したら、
演算子がありませんという
エラーが出てしまいます。
そこで、デバックすると
kaizen_rs.FindFirst criteria
の部分が黄色くなります。
何が原因なのでしょうか。
教えてください。よろしくお願いします。
投稿日時 - 2004-08-16 10:03:58
違ってたらごめんなさい。初心者です。
criteria = field_name & "like'" & find_txt & "'"
↑LIKEのあとにスペースが要りませんか?
投稿日時 - 2004-08-15 08:24:15
補足
ありがとうございます。
私もす~ごく初心者なので、
分からない部分が多いので、みんなのお力を借りたいと思っています。
スペースが入っていました。
でも、訂正して実行したら、
演算子がありませんという
エラーが出てしまいます。
デバックすると
kaizen_rs.FindFirst criteria
の部分が黄色くなってしまいます。
何が原因なのでしょうか。
投稿日時 - 2004-08-16 09:56:46
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
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