Microsoft Access 掲示板

4桁-4桁-4桁 のランダムな数値を作る方法

1 コメント
views
4 フォロー

Excelで以下の数式を書いてランダムな数値を作っています
=BASE(RANDBETWEEN(0,9999),10,4)&
"-"&BASE(RANDBETWEEN(0,9999),10,4)&
"-"&BASE(RANDBETWEEN(0,9999),10,4)
3131-6757-8324
4322-7845-9941
といった計算結果になります

これと同じランダムな数値をACCESSのレコードが作成されるたびに作成し
フィールドに格納(一度つくると変更しない)するにはどうしたらよいでしょうか?

結果的に、ランダムな 4桁-4桁-4桁 の数字ができれば
手法はどのようなものでもかまいません
よろしくお願いします

MMM
作成: 2023/11/03 (金) 18:43:39
通報 ...
1

これと同じランダムな数値をACCESSのレコードが作成されるたびに作成し
フィールドに格納(一度つくると変更しない)するにはどうしたらよいでしょうか?

そのランダムな数値は他のレコードと重複しないようにする必要はありますか。

おそらく必要性があると思いますので、その場合は、
入力フォームの挿入前処理に下記のコードを設定すればいいでしょう。

Private Sub Form_BeforeInsert(Cancel As Integer)
    Randomize
    Dim DNum As String    
    Do
        DNum = Format(Int(Rnd * 9999), "0000-") & Format(Int(Rnd * 9999), "0000-") & Format(Int(Rnd * 9999), "0000")
    Loop Until IsNull(DLookup("伝票番号", "テーブル1", "伝票番号='" & DNum & "'"))
    Me.伝票番号 = DNum
End Sub

フィールド名、テーブル名は実際のものに変更してください。

重複してもいいのなら、ループさせる必要はないです。