回答編集履歴

8

追記

2019/06/03 06:50

投稿

sazi
sazi

スコア25430

test CHANGED
@@ -67,3 +67,13 @@
67
67
  [番号のテキストボックス]=Format(wMgtCode, wFormat)
68
68
 
69
69
  ```
70
+
71
+ - 次回用の採番番号の設定
72
+
73
+ 登録が確定するタイミング(登録ボタンなどのイベント)で
74
+
75
+ ```VBA
76
+
77
+ CurrentDB.ExeCute "update T_Num set F_MgtCode = F_MgtCode + 1 where F_NumCode='顧客'"
78
+
79
+ ```

7

訂正

2019/06/03 06:50

投稿

sazi
sazi

スコア25430

test CHANGED
@@ -54,7 +54,7 @@
54
54
 
55
55
 
56
56
 
57
- - 上記を元に顧客番号の採番コードは
57
+ - 上記を元に顧客番号の新規採番を取得するコードは
58
58
 
59
59
  ```VBA
60
60
 

6

訂正

2019/06/03 06:30

投稿

sazi
sazi

スコア25430

test CHANGED
@@ -40,6 +40,8 @@
40
40
 
41
41
  サンプルとして作るとしたらの例を挙げておきます。
42
42
 
43
+ - T_Num
44
+
43
45
  |F_NumCode|F_MgtCode|F_Min|F_Max|F_Format|
44
46
 
45
47
  |:--|--:|--:|--:|:--|
@@ -52,15 +54,15 @@
52
54
 
53
55
 
54
56
 
55
- 上記を元に顧客番号の採番のコードは
57
+ - 上記を元に顧客番号の採番のコードは
56
58
 
57
59
  ```VBA
58
60
 
59
61
  Dim wFormat As String, wMgtCode As Long
60
62
 
61
- wFormat = DLookUp("F_Format","採番テーブル","F_NumCode='顧客'")
63
+ wFormat = DLookUp("F_Format","T_Num","F_NumCode='顧客'")
62
64
 
63
- wMgtCode= DLookUp("F_MgtCode","採番テーブル","F_NumCode='顧客'")
65
+ wMgtCode= DLookUp("F_MgtCode","T_Num","F_NumCode='顧客'")
64
66
 
65
67
  [番号のテキストボックス]=Format(wMgtCode, wFormat)
66
68
 

5

推敲

2019/06/03 06:30

投稿

sazi
sazi

スコア25430

test CHANGED
@@ -44,11 +44,11 @@
44
44
 
45
45
  |:--|--:|--:|--:|:--|
46
46
 
47
- |顧客番号|1|1|999999|000000|
47
+ |顧客|1|1|999999|000000|
48
48
 
49
- |担当者番号|1|1|999999|000000|
49
+ |担当者|1|1|999999|000000|
50
50
 
51
- |商品番号|1|1|999999|000000|
51
+ |商品|1|1|999999|000000|
52
52
 
53
53
 
54
54
 
@@ -58,9 +58,9 @@
58
58
 
59
59
  Dim wFormat As String, wMgtCode As Long
60
60
 
61
- wFormat = DLookUp("F_Format","採番テーブル","F_NumCode='顧客番号'")
61
+ wFormat = DLookUp("F_Format","採番テーブル","F_NumCode='顧客'")
62
62
 
63
- wMgtCode= DLookUp("F_MgtCode","採番テーブル","F_NumCode='顧客番号'")
63
+ wMgtCode= DLookUp("F_MgtCode","採番テーブル","F_NumCode='顧客'")
64
64
 
65
65
  [番号のテキストボックス]=Format(wMgtCode, wFormat)
66
66
 

4

追記

2019/06/03 06:24

投稿

sazi
sazi

スコア25430

test CHANGED
@@ -31,3 +31,37 @@
31
31
  また、採番テーブルは初期データが登録されている前提です。
32
32
 
33
33
  ※一度も採番されていない場合は`F_MgtCode=F_Min`の状態。
34
+
35
+
36
+
37
+ 追記
38
+
39
+ --
40
+
41
+ サンプルとして作るとしたらの例を挙げておきます。
42
+
43
+ |F_NumCode|F_MgtCode|F_Min|F_Max|F_Format|
44
+
45
+ |:--|--:|--:|--:|:--|
46
+
47
+ |顧客番号|1|1|999999|000000|
48
+
49
+ |担当者番号|1|1|999999|000000|
50
+
51
+ |商品番号|1|1|999999|000000|
52
+
53
+
54
+
55
+ 上記を元に顧客番号の採番のコードは
56
+
57
+ ```VBA
58
+
59
+ Dim wFormat As String, wMgtCode As Long
60
+
61
+ wFormat = DLookUp("F_Format","採番テーブル","F_NumCode='顧客番号'")
62
+
63
+ wMgtCode= DLookUp("F_MgtCode","採番テーブル","F_NumCode='顧客番号'")
64
+
65
+ [番号のテキストボックス]=Format(wMgtCode, wFormat)
66
+
67
+ ```

3

訂正

2019/06/03 06:22

投稿

sazi
sazi

スコア25430

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ```VBA
10
10
 
11
- Dim wFormat, wMgtCode
11
+ Dim wFormat As String, wMgtCode As Long
12
12
 
13
13
  wFormat = DLookUp("F_Format","採番テーブル","F_NumCode=[対象の採番コード]")
14
14
 

2

修正

2019/06/03 04:38

投稿

sazi
sazi

スコア25430

test CHANGED
@@ -8,7 +8,13 @@
8
8
 
9
9
  ```VBA
10
10
 
11
+ Dim wFormat, wMgtCode
12
+
13
+ wFormat = DLookUp("F_Format","採番テーブル","F_NumCode=[対象の採番コード]")
14
+
11
- [番号のテキストボックス]=DLookUp("F_MgtCode","採番テーブル","F_NumCode=[対象の採番コード]")
15
+ wMgtCode= DLookUp("F_MgtCode","採番テーブル","F_NumCode=[対象の採番コード]")
16
+
17
+ [番号のテキストボックス]=Format(wMgtCode, wFormat)
12
18
 
13
19
  ```
14
20
 

1

追記

2019/06/03 04:36

投稿

sazi
sazi

スコア25430

test CHANGED
@@ -12,10 +12,16 @@
12
12
 
13
13
  ```
14
14
 
15
- 登録により入力が確定した場合には、更新クエリー等により、F_MgtCode+1する必要があります。
15
+ 登録により入力が確定した場合には、更新クエリー等により、`F_MgtCode+1`する必要があります。
16
16
 
17
- 但し、それがF_Maxを超えた場合は、番号をリサイクルする仕様ならF_Minに置き換える必要があります。
17
+ 但し、それが`F_Max`を超えた場合は、番号をリサイクルする仕様なら`F_Min`に置き換える必要があります。
18
18
 
19
19
 
20
20
 
21
21
  尚、番号を管理する場合、管理するデータが削除されていく仕様でない限りリサイクルは行いません。
22
+
23
+
24
+
25
+ また、採番テーブルは初期データが登録されている前提です。
26
+
27
+ ※一度も採番されていない場合は`F_MgtCode=F_Min`の状態。