- ベストアンサー
アクセス エクセルインポート テキスト型変換 文字数揃え
ワークシートをテーブルインポートして、クエリで別のテーブルとともに使用します。結合対象となるフィールドが2桁~5桁の数値型 となっており、これをテキスト型、左詰"0"を追加した文字数7に変換したいのですが、どのようにすれば良いでしょうか?
- みんなの回答 (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
その他の回答 (1)
- zap35
- ベストアンサー率44% (1383/3079)
A1に数値があるとしてB1に =TEXT(A1,"0000000") で頭0付き7桁の文字列になります。
お礼
ご回答ありがとうございます。事前にエクセルで合わせておくということですね。 アクセスで、インポート時またはクエリなどで処理する方法はありますでしょうか?
お礼
ありがとうございます。なるほど。やってみます。