• 締切済み

カラムの末尾にスペースが入る

VBAで固定長のファイルをテーブルに取り込みCSVファイルとしてカンマ区切りで書き出すというプログラムを作っています。 1111,55___,77____,5_____,77__,555____,999__      _はスペースのことだと思って下さい。 などといった感じのファイルを取り込むのですが、スペースを削除するためにTrimで切ってテーブルに取り込んでいるのですが、取り込むと必ずいくつかの決まったカラムに半角スペース6個分のスペースが入ってしまいます。 カラムの文字制限10で入力文字が2などなら、6個分のスペースが入り、 入力文字が7ならスペースは3つ入り、入力文字が10ならスペースは入らないという現象が起きています。 Trimで切っているのですから、入力文字が何文字であろうとスペースは入らないはずなのですが、決まったカラムにだけこの現象が起きています。 デバッグで見てみたところ、データを取得しているところでは、きちんとTrimで切られている形で取得することが出来ているのですが、テーブルの中を見ると半角スペースが上の規則で入っているというのが現在の現象です。 なぜこのようなことが起きるのか・・どなたか解決策が分かる方はいらっしゃいますでしょうか。お願いします。

みんなの回答

noname#22222
noname#22222
回答No.2

データベース・エンジンは、何でしょうか? そして、列の型はなんでしょうか? 固定長の文字列型ですと、似たような現象があっても不思議ではないです。 ただ、2+6=8、3+7=10 と、それでも説明できないですね!

ryo-ryo0122
質問者

補足

ありがとうございます。 データベースはAccessです。 型はすべてStringで、テーブルはテキスト型です。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

Dim sWork String * 10 といった宣言の変数でしょうか こういった宣言ならば場合 後ろにスペースがつきますよ 単に Dim sWork as String といった宣言の変数で勝手にスペースが付加されるといった現象はちょっと聞きませんけどね

ryo-ryo0122
質問者

補足

ありがとうございます。 変数宣言はDim sWork as String といった形で宣言しています。

関連するQ&A

専門家に質問してみよう