1

コースに登録されている学生の数をカウントする必要があるクエリを作成しています。その方法は次のとおりです。

DCount("[student/course table].[Student ID]","[student/course table]","[StartDate] = #" & [Course Start Date] & "# AND Location = '" & tblCourseDetails.Location & "' AND [Course Number] = '" & [Course Number] & "'")

問題は、Locationにアポストロフィが含まれている可能性があることです。これにより、結果にエラーがスローされます。これは多くのことを台無しにしているようです(パラメータを2回入力するように求められるなど)。アポストロフィを回避する簡単な方法はありますか?おそらくReplace()= Replace()を使用することを考えていましたが、これは非常に単純な解決策ですが、これを回避する方法が他にある場合は、知りたいと思います。

SQLインジェクションについてはあまり心配していません。このクエリを使用するには、とにかくデータベースにほとんどアクセスできます。

これは私の質問全体ではありません。投稿する必要があると思われる場合は、教えてください。

4

1 に答える 1

3

エスケープ文字を追加する必要があります。アクセスについては、''for'だと思います。

したがって、'を見つけて''に置き換えれば、うまくいくはずです。

編集:これは余分なアポストロフィであり、二重引用符ではありません。

Replace(tblCourseDetails.Location, "'", "''")
于 2010-07-13T17:35:06.720 に答える