• ベストアンサー

VB6でのSQLでのアクセスデーターの更新について

VB6でSQLを使ってアクセスのデーターを下記のように 変換したいのですが   変換前のコード 変換後のコード   0001 --> 00-01   0002 --> 00-02 0003 --> 00-03 jkl = "update 社員テーブル set コード= MID(コード,1,2) & ' - ' & MID(コード,3,4)" c1.Execute jkl 上記のようにしてプログラムを実行すると エラーになります。 どこが違っているのでしょうか?

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.3

#1の方の回答はmidをVBの関数として扱っててるため間違いで、#2の方の回答は複数件あった場合ループを回す必要があって手順が変わってしまうんで両方ともだめでしょう。 で、SQL文としてはあっているので、 >上記のようにしてプログラムを実行すると エラーになります。 どんなエラーが出るんですが?エラーメッセージを書いてください。 ちなみに、 >jkl = "update 社員テーブル set コード= >MID(コード,1,2) & ' - ' & MID(コード,3,4)" ハイフンの前後のスペースは不要ですよ。

TAKEWIT
質問者

お礼

有難うございました。私の単純なミスでした。 ご指摘のとおり、ハイフンの前後にスペースがはいって いたようで、スペースを除くとうまく処理できました。 どうも有難うございました

その他の回答 (3)

  • iiikkk
  • ベストアンサー率37% (92/247)
回答No.4

#3さん、訂正ありがとうです。 SQLの関数にMIDがあることを始めて知りました。 #これってACCESSだけですかね? で回答。 jkl = "update 社員テーブル set コード = MID(コード,1,2) & "-" & MID(コード,3,4)" シングルクォートをダブルクォートに変えただけです。 もしかしてこれもACCESSなら許されるとか・・・

TAKEWIT
質問者

お礼

ダブルクォーテーションの中にダブルクォーテーションを いれるとエラーになるようです。

  • 7_7_7
  • ベストアンサー率24% (115/469)
回答No.2

僕だったら先にコードを変換させますね。 コードが4桁限定としたら codeは格納用の変数 dim code as string code=left(コード,2)) + "-" + right(コード,2) jkl = "update 社員テーブル set コード=code" c1.Execute jkl てか感じかな?

  • iiikkk
  • ベストアンサー率37% (92/247)
回答No.1

jkl = "update 社員テーブル set コード = '" & MID(コード,1,2) & " - " & MID(コード,3,4) & "'" こうですね。

関連するQ&A

専門家に質問してみよう