過去の桐井戸端BBS (桐ver.8) |
18703 | 変数管理で共通変数のみを取り出したいのだが組み込み変数も読み込まれて値が変わってしまう | けい | 2003/01/24-17:59 |
桐ver.8の初心者です。うまく説明できませんが 共通変数を取り出したくて 変数読み込み &MPATH+個人用,組込,共通,固有・・・・ から一括処理をはじめています。 最近気がついたのですが(組み込み変数は起動時の日時が代入されると書いてありますが) ツール→変数管理→個人用.verを読み込んでみると、 組み込み変数の年・月・日・時が作成した時で止まっているのです。 どうしたらよいのでしょうか?教えて下さい。 お願いいたします。 | |||
18706 | Re:変数管理について | bonito | 2003/01/24-18:51 |
記事番号18703へのコメント >桐ver.8の初心者です。うまく説明できませんが はい…(^_^; 先ずあなたが欲しいのは共通変数なのか組み込み変数なのか はっきりさせましょう。(…の値というべきか?) 組み込み変数は今のところは >(組み込み変数は起動時の日時が代入されると… いうしくみ、つまり桐(システム)が予約して使用しているものなので、 その値をユーザーが勝手に変更するとヤバイらしいよ…と認識して下さい。 ユーザーはその値を受け取るだけにしときましょう。 さて私も今回はじめて変数管理ダイアログに 「読み込み」と「書き出し」のボタンがある事を知りました。 あなたがもし共通変数を欲するなら、このダイアログの [共通]タブを押しさらに「新規作成」ボタンを押します、 でこの変数名の入力欄に組み込み変数とはダブらない(重要!) 名前を入れましょう。例えば、最終更新日 とか… これに値を入れたら個人用.varとして書き出してください。 以上で質問の答えになっているとは思いませんが、 これを参考に再度質問してみてはいかがでしょうか? PS.(主にK3さんへ) 会話処理の変数管理ってマジマジ見たのは今回がはじめてだった。 組み込み変数の所の変更ボタンは無効にしておくか 変更実行前にワンクッション入れた方がよくないですか? "!システム変数の値を変更しようとしています"みたいな… | |||
18716 | 組込み変数の値は自由に使って問題ありません | 佐田 守弘 | 2003/01/25-00:28 |
記事番号18706へのコメント けいさん、bonitoさん 結論を先に申しますと、日付時刻を表している組込み変数は、 システム変数ではありません。 自由に使って問題ありません。 以下、詳しく説明します。 ●組込み変数の日付時刻の値 組込み変数には、文字列型の&年月日、&時刻の他、整数型の &年、&月、&日、&時、&分、&秒があります。 これらの変数には、桐を起動した時の日付、時刻の値がプリセットされています。 通常、パソコンは連続して使い続ける事がないとすれば、 日付の方は、その日の値が入っています。 しかし刻々と変わる時刻の方は、現在値でない場合の方がほとんどです。 ●計算の疑問への答え 変数管理で書き出しておいた組み込み変数の値を読み込めば、 当然の事ながら、書き出した時の値が読み込まれます。 読み込んで、再び書き出すのですから、いつも同じ日付になって当然です。 組込み変数を書き出すからこうなるのであって、 固有変数と共通変数のみ書き出せばよいでしょう。 ●日付時刻の値を参照するには 組込み変数の値を参照するのは不適切です。 #年月日関数や、#時(#日時値)の様な計算式で、 その時の日付時刻を求めて下さい。 かつて、桐ver.3の頃だったと思いますが、行集計かなにかで計算式が使えず、 止むを得ず、組込み変数を使っていた時期がありました。 現在はほとんどの場所で上記のような計算式が使えますから、 組込み変数の値を参照する事は、適切ではありません。 ●これらの組込み変数の用途 特段に定義しなくてもいつも存在していて、誰でも使える一般的な変数として利用できます。 現在は局所変数ができたので、その必要がなくなりましたが、 桐ver.5時代に、帳票表示や印刷時に、帳票の中で計算をさせたい 場合があると、これらの組込み変数を使っていたものです。 分かりやすく例で申します。 例えば、タックシールの様なもので、連番号をカウントする、 全部の伝票の通しページ番号の他に、客先ごとに1から始まる ページ番号を印刷するといった様な時がありました。 用意された関数だけで求められない複雑な計算を行う場合に、 値を格納しておく変数が必要になる訳ですが、その様な時に、 組込み変数を流用するのが常でした。 つまり、顧客のカウントに&年を使ったり、伝票の表題に&年月日を使う、 金額の合計に&件数を使うといった、変数名とは関係無い用途に組込み変数が使われたものです。 今は局所変数が使えますが、 それでもフォームからフォームへ例えば対象表名を引き渡すといった時に、 イベントで変数を宣言する代りに、組込み変数を流用する事も可能です。 従いまして、bonitoさんが心配されている >つまり桐(システム)が予約して使用している >ものなので、その値をユーザーが勝手に変更するとヤバイ >らしいよ…と認識して下さい。 は考える必要はないと思います。 佐田守弘(KS-00119) | |||
18718 | Re:組込み変数の値は事由に使って問題ありません | けい | 2003/01/25-08:22 |
記事番号18716へのコメント bonitoさん、佐田さんありがとうございました。 書き出しの時に組み込み変数のところのチェックをはずせばよいのですね? しかし、そのチェックのことも今回初めて気がついた次第です。 ご指導ありがとうございました。今後ともよろしくお願いいたします。 |