作成者カテゴリ返答の対象
公開
鶴丸
09/16/2000 10:05 PM
文書リンクアイコン 自動連番の取得のしかた。
Re:自動連番

「式では絶対に無理」の「絶対」に反応してしまいました。

式でもできますよ。

ビューを利用するなら,特定の文書というわけにはいきませんが,
列の値をすべて取得して,そのうち一番上か下の値を元に加算します。
下の例は,(AutoNum)というビューの2列目の連番(数字)をすべて取得して
その一番左の値を最大値として取得する例です。
(1列目は,連番を数値化したものでソートしておきます。)
フィールド(テキスト)のDefalutValueに直接書きます。
膨大な文書数があるデータベースでは?がつきますが。


TextLastNum:=@Left(@Implode((@DbColumn("":"NoCache";"";"(AutoNum)";2));" ")+" ";" ");
LastNum:=@If(TextLastNum="";0;@TextToNumber(TextLastNum));
LastNum+1

また,連番を付けるには,要は,現在の最大値がいくらかであるかわかればいいので,
文書を保存するときに,環境変数notes.iniやプロフィール文書にそのときの番号を書き
込むようにしておけば,次に新規作成するときに参照して利用すればいいかと思います。
ノーツのヘルプにもそんな例が「式」で書いてありますしね。
もっともこれらは,スクリプトでも可能ですけど。


他にも,最大値だけ格納したデータベースを別に作るとか,
スクリプトなら別途テキスト文書に,最大値を書き出しておいてそれを参照するとか
いろいろ方法はありますね。

でも,ドミノの共有環境では,番号は種のタイミングなど,かなり工夫が必要になるかと思います。
レプリカ,欠番処理,削除文書の取り扱いなど......。

http://www.mars.dti.ne.jp/~tsuruo/


[Previous Main Document]
自動連番の取得のしかた。 (さとえ)
. . Re: 自動連番の取得のしかた。 (こばやん)
. . . . 文書連番を @NotesID から作るのは止めたほうがいいでしょうか。 (now)
. . . . . . Re: 文書連番を @NotesID から作るのは止めたほうがいいでしょうか。 (こばやん)
. . . . . . . . Re: R5.0でも 文書連番を @NotesID から作る式が使えるなんて… (now)
. . . . . . . . . . Re: R5.0でも 文書連番を @NotesID から作る式が使えるなんて… (こばやん)
. . 自動連番 (足立)
. . . . Re:自動連番 (さとえ)
. . . . . . プログラムを書く場所 (足立)
. . . . Re:自動連番 (鶴丸) * 現在地 *
. . . . . . 式でやると・・・!? (足立)
. . . . . . . . Re:式でやると・・・!? (式で自動連番) (鶴丸)
. . . . 自動連番 (さとえ)
. . . . . . ミスっていました。 (足立)
. . . . . . . . 動かないんですけど。 (さとえ)
. . . . . . . . . . 書く場所を変えてみましょう。 (足立)
. . . . . . . . . . . . それでも出来ません。 (さとえ)
. . . . . . . . . . . . . . Re:それでも出来ません (MANEG)
. . . . . . . . . . . . . . ビューの作成は? (足立)
. . . . . . . . . . . . . . . . どこかおかしいんですかね?? (さとえ)
. . . . . . . . . . . . . . . . . . データは? (足立)
. . . . . . . . . . . . . . . . . . . . データはありますよ。 (さとえ)
. . . . . . . . . . . . . . . . . . . . . . Dim db As NotesDatabaseの意味 (足立)
. . . . . . . . . . . . . . . . . . . . . . . . どこで止まっているかというと。 (さとえ)
. . . . . . . . . . . . . . . . . . . . . . . . . . ・・・・・。 (足立)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . こちらがプログラムです。 (さとえ)
[Next Main Document]