(現在 過去ログ32 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■4806 / inTopicNo.1)  計算式を変数に・・・!
  
□投稿者/ 篤姫 -(2009/06/24(Wed) 23:06:01)
    ご無沙汰しております。
    篤姫です。
    またまたご指導ください。

    計算式で悩んでおります。
    というのは私の会社、3箇所に工場がありまして
    それぞれ、指示書を作成して作業を行っております。
    ところが、この指示書の項目は3工場すべて同じなのですが
    計算式がそれぞれの工場でまちまちなのです。
    統一は諸般の事情からできません。
    いまは手書きでおこなっていますので
    どうにでもなるのですが、
    今度この作業をパソコンで入力し、
    帳票に印刷して現場に回ります。
    そこで、各工場でPC担当者を設定してこの担当者が計算式を設定するようにしたいのです。

    計算式という表をつくり、この表にそれぞれの計算式を入力しておきます。

    指示書作成で、この計算式の表の項目から計算式を変数に代入して
    計算結果を求めたいのですが。。。。。

    こんなことって不可能なのでしょうか?

    たとえば、
    計算式.tbl 項目[AAA] 計算式[A]×[B]÷[C]

    指示書.tbl [AAA]にはイベントで上記の計算式を&計算に代入して
    項目値代入 [AAA]=&計算

    といった具合にしたいのですが
    データが合致しません。。。

    というエラーが出ます。

    よろしくお願いいたします。

    桐Ver9-2009a
    OS:WinXP

引用返信 [メール受信/OFF] 削除キー/
■4809 / inTopicNo.2)  Re[1]: 計算式を変数に・・・!
□投稿者/ 通りすがり -(2009/06/24(Wed) 23:34:55)
    > データが合致しません。。。
    >
    > というエラーが出ます。

    ??
    【データ型が一致しません】とかじゃねーの?

    計算式を代入するには、&計算 は文字列
    文字列のままだと [AAA]=&計算 が出来ないので、eval 使う

    け…検証してないんだからね!

引用返信 [メール受信/OFF] 削除キー/
■4816 / inTopicNo.3)  Re[2]: 計算式を変数に・・・!
□投稿者/ homepiyo -(2009/06/25(Thu) 18:10:05)
    No4809に返信(通りすがりさんの記事)

    通りすがりさんの eval (コマンド) 使って検証してみました。

    変数は使わなくてもできるようです。

sampl_c.lzh
/7KB
引用返信 [メール受信/OFF] 削除キー/
■4817 / inTopicNo.4)  Re[3]: 計算式を変数に・・・!
□投稿者/ Kanasy.Ge -(2009/06/25(Thu) 18:58:09)
    No4816に返信(homepiyoさんの記事)

    通りすがりさんが仰るように、またhomepiyoさんの例のように
    「コマンド」コマンド(別名「eval」コマンド)を使えば比較的簡単にできます。

    ただ・・・・、homepiyoさんのサンプルを動かしてみて感じたのですが、
    もし割り算が存在するかもしれないとしたら、「ゼロ除算」エラー対策が必要ですよね。(^^;)
    何か汎用的でスマートな方法は・・・・?

引用返信 [メール受信/OFF] 削除キー/
■4820 / inTopicNo.5)  Re[4]: 計算式を変数に・・・!
□投稿者/ Kanasy.Ge -(2009/06/25(Thu) 21:08:11)
    No4817に返信(Kanasy.Geさんの記事)

    >ただ・・・・、homepiyoさんのサンプルを動かしてみて感じたのですが

    具体的には、計算式が [A]×[B]÷[C] だとして、
    新規に行追加して、[A]に値を入力し、Enterした途端に
    「KU1031:ゼロ除算が発生しました」とのエラーが出るとか、です。

    ま、その辺りは、例えば元の計算式自体で
      #条件選択([C],[A]×[B]÷[C])
    のように気配りしておくようにすればよいのかもしれません。

    あと、スマートではないが、汎用的な方法として、添付のように
    非サポートコマンドを使うのもあり?
    これって反則かも。(^^;)
    ※「確認」コマンド等で止めないで、スルーさせることもできます。


sampl_d.LZH
/5KB
引用返信 [メール受信/OFF] 削除キー/
■4821 / inTopicNo.6)  Re[5]: 計算式を変数に・・・!
□投稿者/ homepiyo -(2009/06/25(Thu) 21:19:47)
    No4820に返信(Kanasy.Geさんの記事)
    > ■No4817に返信(Kanasy.Geさんの記事)
    >
    Kanasy.Geさん、ゼロ除算のことでいろいろありがとうございます。
    そのことまで気が回っていませんでした。

    ところで、 計算式.tblと指示書.tblの二つの表でやり取りのようなので、
    変数はいるようですね。変更してみました。

sampl_c3.lzh
/11KB
引用返信 [メール受信/OFF] 削除キー/
■4843 / inTopicNo.7)  Re[6]: 計算式を変数に・・・!
□投稿者/ 篤姫 -(2009/06/27(Sat) 11:17:49)
    皆さん、ありがとうございます。
    また、急な出張が入りまして
    お返事が大変遅くなりまたことを
    お詫びいたします。

    ファイルをダウンロードさせていただき
    勉強させていただきます。
    ありがとうございました。

引用返信 [メール受信/OFF] 削除キー/
■4844 / inTopicNo.8)  Re[1]: 計算式を変数に・・・!
□投稿者/ Kanasy.Ge -(2009/06/27(Sat) 16:33:15)
    No4806に返信>(篤姫さんの記事)

     元投稿をもう一度よく読んでみたのですが、いまいち関係が判らなくなりました。
     一般的には、「指示書」(表)で示された計算式を、「計算式」(表)で計算させるのではないかと思われますが、
    本件の場合はどうやら逆で、「計算式」(表)で指示(?)された計算式を、「指示書」(表)の方で計算させるということのようで(?_?)、何だか流れがよく見えません。
     「計算式」(表)あるいは「指示書」(表)の項目構成の概要(各工場との関係を含む)が判ると、第三者としては考えやすくなると思うのですが?

     それはさておき、もし [A]×[B]÷[C] 程度の計算式であるのならば、イベントを組むまでもなく、会話処理で対処することも可能です。
     当該計算式を[Ctrl]+[C]でクリップボードにコピー、次に計算結果を得たい項目に[Ctrl]+[V]でペーストしてから、[Shift]+[F9]で計算。(^^)v
     ま、[Shift]+[F9]が「コマンド」コマンドの会話処理版なんでしょうね。簡単な四則演算のみならず、「#表引き」とかかなりの計算もできるようです。

     あと思ったのは、当該計算式による計算結果を得たいのが、1レコードだけではなく当該表の全レコードに亘ってであるならば、その都度「項目属性変更2」コマンドを使って処理させるのもありかな、とか。

引用返信 [メール受信/OFF] 削除キー/
■4845 / inTopicNo.9)  Re[6]: 計算式を変数に・・・!
□投稿者/ Kanasy.Ge -(2009/06/27(Sat) 16:40:57)
    2009/06/27(Sat) 16:54:46 編集(投稿者)

    No4821に返信(homepiyoさんの記事)

    > ゼロ除算のことでいろいろありがとうございます。
    > そのことまで気が回っていませんでした。

    「ソース値更新」イベントを設定してあると、割り算があった場合にゼロ除算エラーが出まくるので、操作性の面からすると、このイベントは設定しない方がよいと私は思います(あるいはせいぜい[C]項目だけにするとか)。エラーは1回出れば十分(^^;)。
引用返信 [メール受信/OFF] 削除キー/
■4848 / inTopicNo.10)  Re[7]: 計算式を変数に・・・!
□投稿者/ homepiyo -(2009/06/27(Sat) 20:43:14)
    No4845に返信(Kanasy.Geさんの記事)
    「ソース値更新」イベントを設定してあると、割り算があった場合にゼロ除算エラーが出まくるので、操作性の面からすると、このイベントは設定しない方がよいと私は思います(あるいはせいぜい[C]項目だけにするとか)。エラーは1回出れば十分(^^;)。

    エラーが何回も出るので「ソース値更新」イベントは設定しない方がよいようですね。仕様がわからない部分があるので使えそうな所があればと思っています。
引用返信 [メール受信/OFF] 削除キー/
■4851 / inTopicNo.11)  Re[2]: 計算式を変数に・・・!
□投稿者/ homepiyo -(2009/06/28(Sun) 00:19:36)
    No4844に返信(Kanasy.Geさんの記事)
    > ■No4806に返信>(篤姫さんの記事)

    篤姫さん。こんにちは。
    Kanasy.Geさんがかかれているように、もう少し具体的に仕様がわかるとよいのですが。

    >  あと思ったのは、当該計算式による計算結果を得たいのが、1レコードだけではなく当該表の全レコードに亘ってであるならば、その都度「項目属性変更2」コマンドを使って処理させるのもありかな、とか。

    元投稿を読んでみると全レコードのようにも受け止められます。
    項目属性変更2をつかってみました。



sampl_c5.lzh
/12KB
引用返信 [メール受信/OFF] 削除キー/
■4852 / inTopicNo.12)  Re[3]: 計算式を変数に・・・!
□投稿者/ Kanasy.Ge -(2009/06/28(Sun) 12:00:13)
    No4851に返信(homepiyoさんの記事)

    「項目属性変更*」コマンドの場合は、特に「コマンド」コマンドを使わなくても動きます。(^^;)

     コマンド "項目属性変更2 変更,[工場名],{,,,,""" + &工場名 + """}"
      ・・・・・・
         ↓
     項目属性変更2 変更,[工場名],{,,,,&工場名} \
             ,変更,[AAA],{,,,,&AAA} \
             ,変更,[BBB],{,,,,&BBB}

引用返信 [メール受信/OFF] 削除キー/
■4857 / inTopicNo.13)  Re[4]: 計算式を変数に・・・!
□投稿者/ homepiyo -(2009/06/28(Sun) 19:31:48)
    No4852に返信(Kanasy.Geさんの記事)
    > ■No4851に返信(homepiyoさんの記事)
    >
    > 「項目属性変更*」コマンドの場合は、特に「コマンド」コマンドを使わなくても動きます。(^^;)

    訂正ありがとうございます。
引用返信 [メール受信/OFF] 削除キー/
■4862 / inTopicNo.14)  Re[5]: 計算式を変数に・・・!
□投稿者/ 篤姫 -(2009/06/29(Mon) 17:47:17)
    皆さん
    ありがとうございます。
    今、ちょっと作っていただいたイベントを
    確認しています。

    確認後お返事をさせていただきます。

    しばらくお待ちください。
引用返信 [メール受信/OFF] 削除キー/
■4872 / inTopicNo.15)  Re[2]: 計算式を変数に・・・!
□投稿者/ 篤姫 -(2009/07/02(Thu) 12:08:35)
    皆さん
    ありがとうございます。

    もう一度詳細を書かせていただきます。

    現場へ作業指示を入力するファイルが、指示書.tblです。
    このファイルは、指図書.wfmで入力します。

    この指図書.tbl での計算式が、各工場毎に微妙に違うのです。

    仮に指図書.tblのファイルの項目で
    [A][B][C]<---計算項目
    [1][2][11][12][21][22][31][32]<---入力項目

    ●あ工場では
     [A]=#条件選択([1]="縦",[11]×[21],[1]="横",[11]×[22]÷2)
    ●い工場では
     [A]=#条件選択([1]="縦",[11]×[21]+100,[1]="横",[11]×[31])
    と、いう感じで計算項目が各工場で違います。

    そこで
    計算式.tbl に、各工場毎に計算項目の計算式を登録します。

    あ工場では、[A]にフォーカスが移動すると、計算式.tblの[A]に登録されている
    計算式で計算させ[A]に結果を表示したいのです。

    よって
    計算結果は、指図書.tblの該当の項目に表示させたいのです。

    よろしくお願いいたします。


引用返信 [メール受信/OFF] 削除キー/
■4873 / inTopicNo.16)  Re[3]: 計算式を変数に・・・!
□投稿者/ うにん -(2009/07/02(Thu) 12:45:56)
http://www.npa.go.jp/annai/license_renewal/ninti/saitenkijun.pdf

    > この指図書.tbl での計算式が、各工場毎に微妙に違うのです。

    工場ごとに違うファイルを使えば簡単なのでは?
    桐にはEval関数がないのでこういうことは面倒です。

    > あ工場では、[A]にフォーカスが移動すると、計算式.tblの[A]に登録されている
    > 計算式で計算させ[A]に結果を表示したいのです。

引用返信 [メール受信/OFF] 削除キー/
■4878 / inTopicNo.17)  Re[3]: 計算式を変数に・・・!
□投稿者/ Kanasy.Ge -(2009/07/02(Thu) 16:06:02)
    2009/07/02(Thu) 18:38:59 編集(投稿者)

    No4872に返信(篤姫さんの記事)

    テキストだけの説明だと未だに相互の関係があやふやなので、計算実行の工程以前に "指示書.tbl" と "計算式.tbl" に、「あ工場」や「い工場」の10例程度のテスト用ダミーデータを入れて添付してみては?

    ps.
    「回答」を考える側で、乏しい説明の行間を読んで、想像を逞しくしながら、表とダミーデータを用意するって言うのは、かなり非効率です。
    せっかく想像(創造)した表の中味自体が、的を外していたりしては、あまりにも虚しいですし。

引用返信 [メール受信/OFF] 削除キー/
■4879 / inTopicNo.18)  Re[3]: 計算式を変数に・・・!
□投稿者/ 通りすがり -(2009/07/02(Thu) 16:09:10)
    計算結果を表示するには、
    オブジェクト操作 ハンドル= @テキスト_A.ソース = "" で式を代入するとか
    変数に計算値を代入して表示するとか

    > あ工場では、[A]にフォーカスが移動すると、計算式.tblの[A]に登録されている
    この、「あ工場では、」って何時 あ工場 を選ぶの?
    リストボックス(テキストボックス+入力支援ボタン)から選択?

    計算結果の保存もしたいなら、テーブルに[計算結果]と、その[工場名]を保存する項目が必要かと
引用返信 [メール受信/OFF] 削除キー/
■4882 / inTopicNo.19)  Re[3]: 計算式を変数に・・・!
□投稿者/ eo -(2009/07/02(Thu) 18:45:38)
    2009/07/02(Thu) 19:33:17 編集(投稿者)
    2009/07/02(Thu) 19:00:49 編集(投稿者)
    2009/07/02(Thu) 18:55:03 編集(投稿者)

    > ●あ工場では
    >  [A]=#条件選択([1]="縦",[11]×[21],[1]="横",[11]×[22]÷2)
    > ●い工場では
    >  [A]=#条件選択([1]="縦",[11]×[21]+100,[1]="横",[11]×[31])
    > と、いう感じで計算項目が各工場で違います。
    >
    > そこで
    > 計算式.tbl に、各工場毎に計算項目の計算式を登録します。
    >

    計算式.tblっていらないような気がするのは私だけでしょうか?
    指図書は各工場毎に出力するんだから、工場を区分する項目を作り、これを条件選択で計算式を設定した表を作ればよいような気がするんだけど...
    例えばあ工場の場合は、工場区分の項目計算式に"あ工場"、い工場なら項目計算式に"い工場"とした別々の表を作成すれば、簡単なような...
    こういうレベルの話ではないのかな?^^;

    [A]=#条件選択([工場区分]="あ工場" .and [1]="縦",[11]×[21],[工場区分]="あ工場" .and [1]="横",[11]×[22]÷2,[工場区分]="い工場" .and [1]="縦",[11]×[21]+100,[工場区分]="い工場" .and [1]="横",[11]×[31])

    あちゃー!よく読めばよかった。うにんさんのに一票です。^^;


引用返信 [メール受信/OFF] 削除キー/
■4957 / inTopicNo.20)  Re[4]: 計算式を変数に・・・!
□投稿者/ 篤姫 -(2009/07/12(Sun) 20:15:56)
    ちょっと仕事がバタバタしており
    なかなか自由が利かなく
    書き込みが大変遅くなり、
    申し訳ありませんでした。

    再度
    最初から考え直します。

    またよろしくお願いいたします。
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -