- ベストアンサー
ADO接続でAccessにUpdateするときの構文エラー
- ADO接続でAccessにUpdateするときに発生する構文エラーについて解説します。
- カンマを含んだ文字列をUpdateする際に表示される「構文エラー:演算子がありません」というエラーについて述べます。
- カンマを含む文字列を正常にUpdateするための記述方法を提案します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ダブルクオートを重ねてみてください。 ×"あいうえ"お" ○"あいうえ""お" 結果:あいうえ"お 入力された文字列に対してreplace関数を使うといいかもしれません。 S = 入力文字列 S = Replace(S,"""","""""") もしくは S = Replace(S,Chr(34),Chr(34) & Chr(34))
その他の回答 (2)
- Pakkun10
- ベストアンサー率44% (22/50)
私が勘違いして変な質問をしてしまいました。 で、aspで同じような環境を作ってやってみたのですが、正しく更新されるようです。 Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "odbcリンク名" S= "ら,ら,ら" Conn.Execute "update 調査 set [Name]='" & S & "' Where PN = 'A'" Set sqlSet = Server.CreateObject("ADODB.Recordset") sqlSet.Open "select * from 調査",Conn,1,3 Do Until sqlSet.EOF Response.Write sqlSet("Name").Value & "<br>" & vbcrlf sqlSet.MoveNext Loop sqlSet.Close Conn.Close 「,カンマ」が入ってるとエラーになるのではなく、「'シングルクォート」とか「"ダブルクォート」だったりしませんか?
補足
ありがとうございます。 もう一度確認したところ、確かにカンマは問題ありませんでした。 「"ダブルクォート」がエラーの原因だったようです。 処理としては、やはりAccessに取り込みたいのですが記述する方法はあるでしょうか?
- Pakkun10
- ベストアンサー率44% (22/50)
どの環境からmdbにデータをUpdateしているのでしょうか? Accessであれば特にエラーは出ないようですが?
補足
ありがとうございます。 Windows2003サーバ上で、ODBCにこのWebサイトで使うAccessを登録しています。 この補足で足りているでしょうか?
お礼
ありがとうございます。 無事解決出来ました。 ご丁寧に回答頂きありがとうございました。