• ベストアンサー

アクセスでコードを使って日付からレコードの検索ができません。

Dim rs As DAO.Recordset Set rs = Me.RecordsetClone rs.FindFirst "生年月日 = #1968/05/03#" 上の場合は問題ないのですが、次の様に、捜そうとする日付を変数にするとどうしても rs.NoMatch = true になってしまいます。 どうしてでしょうか。アクセスは2002、OSは2000です。 Dim Abc As Date Abc = "1968/05/03" rs.FindFirst "生年月日 = " & Abc

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

  • ベストアンサー
noname#240783
noname#240783
回答No.2

> rs.FindFirst "生年月日 = " & Format(Abc, "#yyyy/mm/dd#") #記号は「書式指定文字」と認識されてしまうから、 予想外の変換がされてしまうのでは? rs.FindFirst "生年月日 = #" & Format(Abc, "yyyy/mm/dd") "#" ってのはどうでしょう(浅知恵で、しかも確認してませんが)

noname#6032
質問者

お礼

rs.FindFirst "生年月日 = #" & Format(Abc, "yyyy/mm/dd") "#" これだとコンパイルエラーです。 rs.FindFirst "生年月日 = #" & Format(Abc, "yyyy/mm/dd") & "#" &をつけてうまく動きました。 ありがとうございました。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

rs.FindFirst "生年月日 = " & Format(Abc, "#yyyy/mm/dd#") Format関数で、日付の書式を設定した文字列を作成しましょう

noname#6032
質問者

補足

実行時エラー3077 式の構文エラー 演算子がありません となってしまいますが。

関連するQ&A