出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

オートナンバーを作りたい。   じんさん [2002/09/30 15:23:58] [2737]
  Re:オートナンバーを作りたい。   かずみさん [2002/09/30 16:32:13] [2739]
    Re:オートナンバーを作りたい。   じんさん [2002/09/30 16:45:27] [2740]
      Re:オートナンバーを作りたい。   かずみさん [2002/09/30 17:03:02] [2741]

[2737] オートナンバーを作りたい。
投稿者:じんさん 2002/09/30 15:23:58
初めて質問します。ASPをはじめて触ったのですが、
わからないところがあり、皆さんの意見をお聞かせください。

今、SQLServer2000をASPでアクセスしています。
削除、修正等のためにオートナンバーみたいなものを
作りたいと思います。

INSERTでデータを追加したときに自動的に番号を振りたいのです。
どのように行えばよいのでしょうか?
本当に困っていますのでよろしくお願いします。

[2739] Re:オートナンバーを作りたい。
投稿者:かずみさん 2002/09/30 16:32:13
> 今、SQLServer2000をASPでアクセスしています。
> 削除、修正等のためにオートナンバーみたいなものを
> 作りたいと思います。
>
> INSERTでデータを追加したときに自動的に番号を振りたいのです。
> どのように行えばよいのでしょうか?
> 本当に困っていますのでよろしくお願いします。

ASPでどうってことでしょうか?
ASPにかぎらず、普通?は採番マスタみたいのを作って連番を管理します。INSERTするときに採番マスタを参照して番号を取得します。
取得したあとはマスタの値を1増やします。

もちろん増やし続けるわけにはいかないので、桁数を決めて99999に
なったらゼロに戻すとかの処理を入れる必要はあります。
また削除したレコードが欠番になるとかの問題はありますけどね。

的外れでしたらすみません。

[2740] Re:オートナンバーを作りたい。
投稿者:じんさん 2002/09/30 16:45:27
> ASPでどうってことでしょうか?
> ASPにかぎらず、普通?は採番マスタみたいのを作って連番を管理します。INSERTするときに採番マスタを参照して番号を取得します。
> 取得したあとはマスタの値を1増やします。
>
> もちろん増やし続けるわけにはいかないので、桁数を決めて99999に
> なったらゼロに戻すとかの処理を入れる必要はあります。
> また削除したレコードが欠番になるとかの問題はありますけどね。
>
> 的外れでしたらすみません。

連番用にテーブルを作るという事ですか?
難しいですね。。。
DBを使うのがはじめてで。。。よくわからないところが
多いのです。
申し訳ありませんが、もう少し具体的に
お願いできませんでしょうか?

[2741] Re:オートナンバーを作りたい。
投稿者:かずみさん 2002/09/30 17:03:02
> 連番用にテーブルを作るという事ですか?

そのとおりですね。
例えば商品ai4桁)と従業員ai5桁)を採番マスタで管理したいとします。
採番マスタのレイアウトは例えば
1.管理コード
2.現在の番号
といった二つの項目を用意します。
例では商品bニ従業員b管理するのでそれぞれのレコードを最初に
作っておきます。
<商品wpレコード>
管理コード = 01
現在の番号 = 0000
<商品wpレコード>
管理コード = 02
現在の番号 = 00000

それでメインの処理で新たな商品を商品マスタとかに登録するときにこのマスタを参照します

1)商品b取得したいので「管理コード」が"01"のレコードをSelectします。
2)「現在の番号」が"0000"なので次の番号は"0001"になります。
3)番号"0001"で商品マスタに登録する。
4)採番マスタの現在の番号を1カウントアップしておく

という感じです。次に新規登録する場合も同様に

1)商品b取得したいので「管理コード」が"01"のレコードをSelectします。
2)「現在の番号」が"0001"なので次の番号は"0002"になります。
3)番号"0002"で商品マスタに登録する。
4)採番マスタの「現在の番号」を1カウントアップしておく

従業員b登録する場合は

1)従業員b取得したいので「管理コード」が"02"のレコードをSelectします。
2)「現在の番号」が"00000"なので次の番号は"00001"になります。
3)番号"00001"で従業員マスタに登録する。
4)採番マスタの「現在の番号」を1カウントアップしておく

よくやるのはこんな感じでしょうか。



TreeBBS For ASP V.0.1.3
Program By YasNet