- ベストアンサー
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 上記のようにしてプログラムを実行すると エラーになります。 どこが違っているのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#1の方の回答はmidをVBの関数として扱っててるため間違いで、#2の方の回答は複数件あった場合ループを回す必要があって手順が変わってしまうんで両方ともだめでしょう。 で、SQL文としてはあっているので、 >上記のようにしてプログラムを実行すると エラーになります。 どんなエラーが出るんですが?エラーメッセージを書いてください。 ちなみに、 >jkl = "update 社員テーブル set コード= >MID(コード,1,2) & ' - ' & MID(コード,3,4)" ハイフンの前後のスペースは不要ですよ。
その他の回答 (3)
- iiikkk
- ベストアンサー率37% (92/247)
#3さん、訂正ありがとうです。 SQLの関数にMIDがあることを始めて知りました。 #これってACCESSだけですかね? で回答。 jkl = "update 社員テーブル set コード = MID(コード,1,2) & "-" & MID(コード,3,4)" シングルクォートをダブルクォートに変えただけです。 もしかしてこれもACCESSなら許されるとか・・・
お礼
ダブルクォーテーションの中にダブルクォーテーションを いれるとエラーになるようです。
- 7_7_7
- ベストアンサー率24% (115/469)
僕だったら先にコードを変換させますね。 コードが4桁限定としたら codeは格納用の変数 dim code as string code=left(コード,2)) + "-" + right(コード,2) jkl = "update 社員テーブル set コード=code" c1.Execute jkl てか感じかな?
- iiikkk
- ベストアンサー率37% (92/247)
jkl = "update 社員テーブル set コード = '" & MID(コード,1,2) & " - " & MID(コード,3,4) & "'" こうですね。
お礼
有難うございました。私の単純なミスでした。 ご指摘のとおり、ハイフンの前後にスペースがはいって いたようで、スペースを除くとうまく処理できました。 どうも有難うございました