• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ADO接続でAccessにUpdateするときの構文エラー)

ADO接続でAccessにUpdateするときの構文エラー

このQ&Aのポイント
  • ADO接続でAccessにUpdateするときに発生する構文エラーについて解説します。
  • カンマを含んだ文字列をUpdateする際に表示される「構文エラー:演算子がありません」というエラーについて述べます。
  • カンマを含む文字列を正常にUpdateするための記述方法を提案します。

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

  • ベストアンサー
  • Pakkun10
  • ベストアンサー率44% (22/50)
回答No.3

ダブルクオートを重ねてみてください。 ×"あいうえ"お" ○"あいうえ""お" 結果:あいうえ"お 入力された文字列に対してreplace関数を使うといいかもしれません。  S = 入力文字列  S = Replace(S,"""","""""") もしくは  S = Replace(S,Chr(34),Chr(34) & Chr(34))

namesato
質問者

お礼

ありがとうございます。 無事解決出来ました。 ご丁寧に回答頂きありがとうございました。

その他の回答 (2)

  • Pakkun10
  • ベストアンサー率44% (22/50)
回答No.2

私が勘違いして変な質問をしてしまいました。 で、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 「,カンマ」が入ってるとエラーになるのではなく、「'シングルクォート」とか「"ダブルクォート」だったりしませんか?

namesato
質問者

補足

ありがとうございます。 もう一度確認したところ、確かにカンマは問題ありませんでした。 「"ダブルクォート」がエラーの原因だったようです。 処理としては、やはりAccessに取り込みたいのですが記述する方法はあるでしょうか?

  • Pakkun10
  • ベストアンサー率44% (22/50)
回答No.1

どの環境からmdbにデータをUpdateしているのでしょうか? Accessであれば特にエラーは出ないようですが?

namesato
質問者

補足

ありがとうございます。 Windows2003サーバ上で、ODBCにこのWebサイトで使うAccessを登録しています。 この補足で足りているでしょうか?

関連するQ&A