プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/09/07 11:33

A1に数値があるとしてB1に



=TEXT(A1,"0000000")

で頭0付き7桁の文字列になります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/09/07 11:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!