• ベストアンサー

アクセス エクセルインポート テキスト型変換 文字数揃え

ワークシートをテーブルインポートして、クエリで別のテーブルとともに使用します。結合対象となるフィールドが2桁~5桁の数値型 となっており、これをテキスト型、左詰"0"を追加した文字数7に変換したいのですが、どのようにすれば良いでしょうか?

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

  • ベストアンサー
noname#22222
noname#22222
回答No.2

? SetL(1, "0000000") 1000000 ? SetR(1, "0000000") 0000001 と、右詰、左詰する関数を利用すると楽です。 引数1は、上述のように数字でも構いません。 更新クエリを使うか、インポートプログラムを書くかすれば良いと思います。 Public Function SetL(ByVal Text1 As String, ByVal Text2 As String) As String   Dim I As Integer   Dim J As Integer   Dim L As Integer   Dim M As Integer   Dim N As Integer   J = Len(Text1)   L = LenH(Text2)   For I = 1 To J     M = LenH(Mid$(Text1, 1, I))     If M > L Then       SetL = Left$(Text1, I - 1) & Left$(Text2, L - N)       Exit Function     Else       N = M     End If   Next I   SetL = Text1 & Left$(Text2, L - N) End Function Public Function SetR(ByVal Text1 As String, ByVal Text2 As String) As String   Dim I As Integer   Dim J As Integer   Dim L As Integer   Dim M As Integer   Dim N As Integer   J = Len(Text1)   L = LenH(Text2)   For I = 1 To J     M = LenH(Mid$(Text1, 1, I))     If M > L Then       SetR = Left$(Text2, L - N) & Left$(Text1, I - 1)       Exit Function     Else       N = M     End If   Next I   SetR = Left$(Text2, L - N) & Text1 End Function

nonboo
質問者

お礼

ありがとうございます。なるほど。やってみます。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

A1に数値があるとしてB1に =TEXT(A1,"0000000") で頭0付き7桁の文字列になります。

nonboo
質問者

お礼

ご回答ありがとうございます。事前にエクセルで合わせておくということですね。 アクセスで、インポート時またはクエリなどで処理する方法はありますでしょうか?

関連するQ&A