過去の桐井戸端BBS (桐ver.8)
6832 項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか 労務士1 2000/07/11-22:30
桐で給与計算をしていますが、項目名を変えると項目計算式の項目名も自動で変わるようにはできないでしょうか。
またフォーム、レポートのラベル、テキストも自動で変わるようにはできないでしょうか。方法があれば教えてください
6833 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか 佐田 守弘 2000/07/11-23:13
記事番号6832へのコメント
労務士1さん
表の項目名が変わったら、項目計算式等それを参照している部分が自動で変わると良いですね。
欲しい機能だと思います。

希望はさておき、現実には項目名を変更してもその項目名を参照している項目計算式を始め、
フォームやレポートのテキストのソース、結合表での参照する項目等は自動では変わってくれません。
ですから、表の項目名を変更した場合には、その表の変更した項目を参照している部分は、
全て手作業で書き替える必要が出て来ます。本当に大変な作業になります。

このあたり、婚姻届を出して姓が変わっても、運転免許証や預金口座の名義変更は自動で変わらないので、
それぞれ個別に名義変更が必要になるのと似ておりますね。

●表の定義はデータベースの設計
冗談はともかく、表定義はとても重要な意味を持ちます。と言いますのも、ここで決めた項目名が、
フォームやレポート、結合表、一括処理やイベント等で参照されるからです。
これらは項目名(項目名の文字列)で記述しますから、後から項目名の変更が生じると、
今まで作成したものが全て無効になってしまい、変更に応じて全て書き替える必要が生じます。
そして、この書き替えを自動で行ってくれる方法はありません。

エラーになればまだ気がつきますが、エラーにならないで誤った計算をされると、
飛んでもない間違いの原因になるおそれもあります。

ですから本来的に言えば、どの様な項目からなる表を作り、そのどの項目を参照してフォームやレポートを作る
といったデータベース設計をしっかりと行っておく事が必要です。
実際、プロのVAR業者さんですと、このあたりをしっかりと行い、ドキュメントで残します。
この作業をしっかりと行わないと、後から表の定義が変わったりして、
全てふりだしに戻って作り直しになります。

●表を定義したらしばらくは表編集だけで使ってみる
しかし、ユーザーが自分で作る場合、そこまで厳密に行う事はまずなく、作ってみては変更するというのが実情ですね。
そこで、新しく表を作ったら、まずは表だけで使ってみる事をお勧めします。
会話処理でしばらく使ってみるうちに、表定義の問題点がクリアになります。
表だけで使っては改善を重ねているうちに、表定義の内容が枯れて来ます。
この枯れて来た時期を見計らって、表が確定したとし、その後でフォームやレポートを作るのが良いかと思います。

●表定義が変わった場合
項目計算式等は、表の枠組みをK3ファイルに書き出してワープロやエディタを使って文字列置換で処理できます。
一括処理は一括処理エディタの中で、置換の機能を使い、項目名の一括変更が可能です。
しかしながらフォームとレポートは、置換で項目名を変更する事はできません。

佐田守弘(KS-00119)

6834 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか toshi-chan 2000/07/11-23:16
記事番号6832へのコメント
労務士1さん、こんばんは。

会話処理では不可能かもしれません。
一括処理の「項目名変更」コマンドを使用すると、この項目名を参照する部分も置き換わります。
この1行だけ作って実行してはいかがでしょうか。
「項目属性変更2」コマンドでも項目名は変更されますが、参照部分は変更されません。

フォームやレポートまで自動変更する方法はわかりません。
(「オブジェクト操作」コマンドをうまく使用できないでしょうか。)

6835 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか 悲しげ 2000/07/11-23:31
記事番号6834へのコメント
どもっ、toshi-chanさん、割り込みですけど。
そうですか、「項目名変更」コマンドを使えば置き換えられますか。
これはいいことを教わりました。ありがとうございました。

>フォームやレポートまで自動変更する方法はわかりません。
>(「オブジェクト操作」コマンドをうまく使用できないでしょうか。)

「オブジェクト操作」コマンドはあくまで「一時変更」的な使い方になりますからね、今回の用途には足りないと思います。
あとレポートにおいては、「オブジェクト操作」的なものは未装備のはずです。早くできるといいですね。

フォームやレポートについては、思いつく部分のみを手動で訂正した後、
「整合性チェック」をかけてみるか、実際に動かした際に指示される箇所を、
シコシコ手動修正していくしかないような気がします。
もちろん、可能な場合は、複数オブジェクトを指定して一括変更も駆使して。
6836 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか toshi-chan 2000/07/11-23:38
記事番号6835へのコメント
佐田さん、悲しげさん、こんばんは。

投稿したらすでに佐田さんのコメントが入っていました。
私の示した方法はどうでしょうか。
みなさんのコメントを待っています。
6837 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか 宮城 2000/07/12-00:22
記事番号6832へのコメント
労務士1さん、こんにちは。もっとも芸のないやりかたも。

桐の場合、項目数をセーブするという考え方はしないほうがいいと思います。
詳細には説明しませんが、以下考え方だけ。

・・・[目当ての項目]、[CTL]、[計算式1]、[計算式2]、[計算式3]・・・
のように項目を置き、[目当ての項目]の項目計算式を次のようにします。

#条件選択([CTL]=1,[計算式1],[CTL]=2,[計算式2],[CTL]=3,[計算式3])

[計算式1]、[計算式2]、[計算式3]にそれぞれ項目計算式を変えてセットしておく。
[CTL]への入力次第で実質的にご要望にかないませんか、とか。

ユーザーに見せたくなければ、[計算式1]、[計算式2]、[計算式3]は非表示にすることも可能です。

フォーム以下はちょっと何をお望みなのかがわかりかねますので、以上。

6838 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか 宮城 2000/07/12-00:33
記事番号6837へのコメント
もう少し考えましたけど、項目名によって項目計算式を変えるという発想はどうも変です。
項目名なんて所詮「記号」です。記号により扱いを変えるとは?
1TBL1レコードならともかく、全レコードに適用される話ですよ。

この上のツリーで述べたやり方で実質別項目とするか、
丸ごと別表とすべきかのいずれかだと思いますけど。

6839 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか 宮城 2000/07/12-00:44
記事番号6838へのコメント
>記号により扱いを変えるとは?

誤解うけそうな表現でした。確かに私の主張も「記号により扱いを変える」べしそのもの。
ただし、そう意図して設計するかそうでないかと理解して下さい。

6840 Re:#項目属性 bonito 2000/07/12-01:51
記事番号6832へのコメント
正直なところ(今の私には)、(多分システム的な要求として)項目名を変更するという事の
必然性に対する疑問がきわめて大なり…なんですが (^^;

ただ私がまだ少年の頃(嘘です…つい4・5年前の事です)、
DOS桐上で同じような考えから、#項目属性を使った…というお話、

桐のヘルプから
>#項目属性(n ,f)
>   n 属性を取り出す項目の番号を指定します。
>   f 取り出す属性を番号で指定します。
>     0 項目値(データ型は項目と同じ)
>     1 項目名(文字列)
>     2 データ型(文字列)
〜以下略〜

10番目の項目で1番目の項目と5番目の項目の和を求める場合
10番目の項目計算式に「#項目属性(1,0)+#項目属性(5,0)」 

又、変更する可能性のある項目名(仮に11番目の項目として)を
印刷帳票(古い!)に指定(印刷)する場合「項目属性(11,1)」

…としていました。(nは場合によっては計算式だったりも…)
こうすれば、項目の順番には左右されるが名前には影響されません。

ただ、WIN桐になった今、(最初にも言いましたが)、本当に
システムとして項目名を変更する必然があるのだろうか?
(表編集のみでガリガリやるって事もないような気もするし…)、
いっそ項目[A][B][C]でもかまわないような…。
よくよく考えれば設計の工夫で逃げられる事のような…。

6844 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか toshi-chan 2000/07/12-20:27
記事番号6834へのコメント
私の情報の出所は、笠原由紀子さんの「桐5ユーザーのための桐Ver.7一括処理ガイド」です。
この本はコマンドの説明がていねいに書かれており、V5コマンドとの対比もなされています。
とても便利な本です。
ただ、新規搭載コマンドの一部が解説されていないのが難点です。

桐7のリファレンスマニュアル、桐8のオンラインマニュアルのいずれにも、「項目名変更」コマンドの
この機能については書かれていませんね。

さっき試してみたのですが、メニューバーの「属性」→「項目属性の変更」→「項目名変更」の操作を
履歴に登録すると「項目名変更」コマンドで記述されます。
6848 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか toshi-chan 2000/07/12-22:40
記事番号6832へのコメント
項目名変更の方法をまとめると次のようになります。

(1) 表編集画面で、
    メニューバーの「属性」→「項目属性の変更」→「項目名変更」
 と操作する。この項目を参照している箇所も自動的に調整される。
 この操作は、一括処理の「項目名変更」コマンドに相当する。

桐ver8マニュアル「表編集」の 第三章:表の表示の調整 に参照箇所の自動調整について書かれている。

(2) 表定義画面で、項目名を変更する。この項目を参照している箇所は調整されない。
  この操作は、一括処理の「項目属性変更2」コマンドに相当する。

6849 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか 佐田 守弘 2000/07/12-23:05
記事番号6848へのコメント
toshi-chanさん
貴重な報告を久有難うございました。
項目名の変更を行うと、参照している項目計算式の書き替えも自動的に行われる様になっていたんですね。
かつて、表回りの機能を調べた際に気がつかず、まだ実現されていないものと思ってました。
(笠原さんどこから情報仕入れたのかなあ?)

佐田守弘(KS-00119)

@フォームやレポート
できればその表の中だけでなく、できればその項目を参照しているフォームやレポートの
ソースも変更できると良いですね。
A結合表や結合関係を設定した他の表
こちらの方はどうなっているものでしょうか。toshi-chanさんの情報をもとに調べてみたいと思います。

6850 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか 悲しげ 2000/07/12-23:41
記事番号6849へのコメント
何だか思い出して来ました。
DOS桐でも、項目名を変更すると関連する項目計算式に自動的に反映された記憶があります。
片や、表定義変更や項目属性変更では反映されなかったような。
Win桐でも、これをそのまま踏襲したのではないかと思います。
ちがったかな?
6851 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか 悲しげ 2000/07/12-23:45
記事番号6850へのコメント
>DOS桐でも、項目名を変更すると

ちょっと説明不足ですね。
「項目名変更」コマンド、または会話処理での項目属性→「項目名(の変更)」(DOSではこれが有った)の操作のことです。
6852 Re:項目名を変えると項目計算式も自動で変わるようには出来ないでしょうか toshi-chan 2000/07/13-12:15
記事番号6851へのコメント
笠原さんの本によれば、「項目名変更」コマンドは「V5と完全互換」となっています。
つまり、Ver5では装備されていた機能のようです。
かつて会社で桐Ver4,Ver5を使用していましたが、そこまで気づきませんでした。

桐の初心者の頃、一覧表印刷の項目名を変更したいために表.tblの項目名を変更したことがあります。
現在の桐は、項目名の「印字別名」機能がありますので、そんな必要もなくなりました。
労務士1さんはどのような目的で項目名を変更したいのかな?
6860 項目名変更のお礼 労務士1 2000/07/14-20:53
佐田さん、toshiさん、悲しげさん、宮城さん貴重な意見ありがとうございました
表での項目名の変更に伴う計算式の変更はうまくゆきました
桐を使っているあまり詳しくない7人で勉強会をしておりそこでいろいろ意見がでまして、
こんなことが出来ると便利だなーと思われることをみなさんにお聞きしています
これからもよろしくお願いいたします

戻る