- ベストアンサー
SQLの条件分に ( ) が入っている場合
Access97を使用しています。 SQLの条件で、項目名に '(' が入っている場合 どうすればいいのでしょうか? 例えば 下記の場合 " 式に未定義関数 '出荷日'があります " と出てきます。 Set DB = CurrentDb() strSQL = "SELECT SUM(数量) AS A FROM GAH100 WHERE " strSQL = strSQL + "出荷日(新)='" & Me.日付入力 "';" Set RS = DB.OpenRecordset(strSQL, dbOpenDynaset, dbReadOnly) 項目名に() が無いようにするしかないのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
対象のフィールド名の前後を "[" and "]" (括弧)で囲めばいいと思いますが 確認はしておりませんが、やってみてください。 Set DB = CurrentDb() strSQL = "SELECT SUM(数量) AS A FROM GAH100 WHERE " strSQL = strSQL + "[出荷日(新)]='" & Me.日付入力 "';" Set RS = DB.OpenRecordset(strSQL, dbOpenDynaset, dbReadOnly)
その他の回答 (2)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 >リンクして使っているデータで、元データの >項目を変更するのは難しいのです。 それなら、テーブル構造がまったく同じの別のテーブルを作っておいて、まずそこへリンクテーブルのデータをコピーして、そのテーブルで操作すればいいのではないでしょうか。 もちろん、その別テーブルのフィールド名は、"()"など、やばそうな文字を使用していないものにして下さい。
お礼
ありがとうございます。 その方法で実施してみます。 また他に案があればお願いします。
- taknt
- ベストアンサー率19% (1556/7783)
あとあと いろいろとややこしくなると思いますので、 ()は はずしたほうがいいと思いますよ。
お礼
回答ありがとうございます。 リンクして使っているデータで、元データの 項目を変更するのは難しいのです。 ()が残ることを前提に別案を考えたいと思います。
お礼
ありがとうございました。 上手くいきました。