MySQLバックエンドでAccess 2007からの更新クエリを実行しているときに、この異常が発生しました。MS AccessワイルドカードがMySQLバックエンドで動作しない
このSELECTクエリは、正しいレコードを表示します。
SELECT Courses.Print_Quota, Courses.CourseCode
FROM Courses
WHERE (((Courses.Print_Quota)=0) AND ((Courses.CourseCode) Like "%cc*"));
Courses.CourseCodeは
UPDATE Courses
SET Courses.Print_Quota = 100
WHERE (((Courses.Print_Quota)=0)
AND ((Courses.CourseCode) Like "%cc*"));
アクセスがデータシートビューで正しいレコードを示しているが、私は実行すると...それは0を言う、今私は、この更新クエリを試す
私の主キーであります行が更新されます(これはまさに起こります)これはなぜ機能しないのでしょうか?
これがAccessクエリ(パススルークエリではない)の場合、正しいワイルドカードは '*'です。 SELECT文が動作しても、同じWHERE句を使用したUPDATEはそれほど奇妙です。私が推測しなければならないのは、MySQL ODBCドライバのバグかもしれないということです。あなたは '%'、つまり 'CourseCode Like" cc * "'なしで両方のクエリを試すことができますか?おそらく二重引用符ではなく単一の 'CourseCode ''%cc * ''のようなものでしょうか? – Andre
select文から返されたデータのスニペットを投稿して再現可能な例に使用できますか?データには実際に '%'記号が含まれていますか? – Parfait
は 'Courses.Print_Quota'であり、' single float'ですか?それが私の原因だ。 – BitAccesser