Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5533 / 9994 ←次へ | 前へ→

【7678】Re:顧客コードの頭に定型の番号を振る
回答  The-Third-Man  - 06/4/12(水) 14:39 -

引用なし
パスワード
   会員番号の自動採番を行いたいんですよね。
正規会員コードとありますが、そうでない方も同じテーブルに入力されているのでしょうか?
取り敢えず、コードについて書きますね。

>Private Sub Form_BeforeInsert(Cancel As Integer)
>  If DCount("正規会員コード", "会員情報") = 0 Then
>  Me![正規会員コード] = "222200000001"
 
 まず、この部分ですが条件分岐させるために、Dcountで件数を拾い、件数が「0」つまり、まだ誰も会員登録されてなければ、めでたく第1号として「22220 00 00001」の初期値が与えられるんですよね。
 ここで気づくことは、店番号の選択がされていないことです。
 このコードのままでは、すべてのレコードを拾って、1件もなければ店番号「00」(そういう店番号はないと思いますが)の会員を初期化することになります。
 ですから、このままでは不都合なのでDcount関数に条件を設定しなければなりません。

  If DCount("正規会員コード", "会員情報","店番号=02") = 0 Then
  Me![正規会員コード] = "2222 02 000001" 
                ↑↑(スペースを入れたのは強調するためです。実際には連続数字でよいです)

 これで店番号「02」の会員のみがDcountで拾われ、誰も登録していなければ、第1号として登録されるはずです。
 店が複数ある場合は、コンボボックスなりで選択するようにすればいいかもしれません。
 その場合は、

  If DCount("正規会員コード", "会員情報","店番号=' & Me.cmb店番号 & "'") = 0 Then
  Me![正規会員コード] = "22220" & me.cmb店番号 & "00001"

で、よいかと思われます。(「cmb店番号」こちらが勝手につけたもので、任意の名前でかまいません。「Me」は入力するフォームを指します) 
 次に、もしすでに同じ店で会員登録されていた場合ですが、ここは、Dcount()ではなくDMax関数を使うべきだと思います。

  Else
   me![正規会員コード] =Fromat(DMax("正規会員コード","会員情報","店番号=02")+1,"000000000000")
  End If
End Sub
 
 これで対象とする店から正規会員の最大コード番号を選ぶことになり、それに「1」を加算することによって、常に新規番号が振られることになります。
 店番号を変化させたい場合は、最初のコードを参考にしてください。
 
考え方を示しただけで、実際にコードは走らせていませんので、不具合があったらご勘弁ください。
 定義集域関数は、覚えると便利な関数なのでヘルプ等を参照することをお奨めします。

487 hits

【7670】顧客コードの頭に定型の番号を振る TB1 06/4/10(月) 17:12 質問
【7671】Re:顧客コードの頭に定型の番号を振る まさ7251 06/4/10(月) 22:52 発言
【7672】Re:顧客コードの頭に定型の番号を振る TB1 06/4/11(火) 11:28 発言
【7673】Re:顧客コードの頭に定型の番号を振る まさ7251 06/4/11(火) 12:44 発言
【7678】Re:顧客コードの頭に定型の番号を振る The-Third-Man 06/4/12(水) 14:39 回答
【7680】Re:顧客コードの頭に定型の番号を振る TB1 06/4/12(水) 15:26 発言
【7831】Re:顧客コードの頭に定型の番号を振る TB1 06/5/17(水) 15:01 質問
【7856】Re:顧客コードの頭に定型の番号を振る 855 06/5/23(火) 17:46 発言
【7863】Re:顧客コードの頭に定型の番号を振る TB1 06/5/24(水) 15:45 発言
【7864】Re:顧客コードの頭に定型の番号を振る 855 06/5/24(水) 16:25 発言
【7871】Re:顧客コードの頭に定型の番号を振る TB1 06/5/25(木) 11:15 質問
【7873】Re:顧客コードの頭に定型の番号を振る 855 06/5/25(木) 12:48 発言
【7874】Re:顧客コードの頭に定型の番号を振る TB1 06/5/25(木) 16:21 質問

5533 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078228
(SS)C-BOARD v3.8 is Free