- ベストアンサー
アクセスについて教えてください
8桁のコードを入力したいのですが、 858や、1358、のように、8桁に満たないものは 先頭に0を入れて、00000858のように表示させたいです。 その際、0を打たなくても、858、と入れれば 自動的に00000858になる方法はありますか? 初心者で申し訳ございませんが、お教えください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
書式指定ではなく実文字列を生成する例です。 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です。
その他の回答 (1)
補足: ? format(777, "00000000") 00000777 と、SetR関数は format関数でも代用できます。 SetR関数は、format関数の限界を越えたい時のものです。
お礼
ありがとうございました! 解決しました!!