• ベストアンサー

アクセスについて教えてください

8桁のコードを入力したいのですが、 858や、1358、のように、8桁に満たないものは 先頭に0を入れて、00000858のように表示させたいです。 その際、0を打たなくても、858、と入れれば 自動的に00000858になる方法はありますか? 初心者で申し訳ございませんが、お教えください。

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

  • ベストアンサー
noname#140971
noname#140971
回答No.1

書式指定ではなく実文字列を生成する例です。 Private Sub テキスト0_AfterUpdate()   Me.テキスト0 = SetR(Nz(Me.テキスト0), "00000000") End Sub ? SetR(777, "00000000") 00000777 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 なお、表示だけですと 書式=00000000 でOKです。

gs-wing
質問者

お礼

ありがとうございました! 解決しました!!

その他の回答 (1)

noname#140971
noname#140971
回答No.2

補足: ? format(777, "00000000") 00000777 と、SetR関数は format関数でも代用できます。 SetR関数は、format関数の限界を越えたい時のものです。

関連するQ&A

専門家に質問してみよう