みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Win7, FM13です。
13桁のユニークな数字をレコード毎にランダムに発生させたいのですが、
どうすれば良いでしょうか?
よろしくお願いします。
int ( randam * 10 ^ 14 )
でいいのでは。
ただし、ユニークは保証されませんので、フィールドにユニーク制限をかけておくか、13桁の一部をシリアル値にして重複を避けるようにするといいでしょうね。
Offline
それでは
14桁以下の数値
になっちゃいますね。
12桁、11桁以下も出てきちゃいます。
13個の数字の並びなら、
Right ( 10^13 + Int ( Random * 10^13 ) ; 13 )
これをテキストで返せばいいでしょう。
10^12以上、10^13未満なら、
10 ^ 12 + Int ( Random * ( 10 ^ 13 - 10 ^ 12 ) )
でいいかな。
Offline
頭0詰めでいいのでは。
どの程度のユニークが必要かで変わってきますね。その答えで対処するつもりでしたが。
Offline
ユニークにするには、こんな方法は、、
グローバルフィールドに13桁を入力して、
リレーションで同じ値が有るかの判定。
有れば繰り返して、
なくなればレコードに入力。
ま、
13桁だと十兆ですから、同じ値はまず出てこないと思いますがね。。
Offline
ありがとうございます。
状況は、JANコードをユニークにランダムに発生させたいのです。
ユニークにする理由は、金券の様なものに使う為、予測出来ない数値にしたいのです。
正規のコードを被らないようにコントロールする必要があるのと、予想できない、と言うより、偽造されないためには、何らかのチェックデジットを設定しておいたほうがいいのでは。
Offline
JANコードって最後の1桁は手前12桁によって決まるのでは?
ランダム12桁を作成してそのあとに最後1桁を計算する仕組みを入れないとダメな様な......
Offline
数字の羅列といえども主催者が発行したことが確認できるものでなくてはならず、
管理上、チェックデジットは2つ以上必要なのでは。
Offline
Pages: 1
[ Generated in 0.016 seconds, 9 queries executed - Memory usage: 515.23 KiB (Peak: 519.77 KiB) ]