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

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

[ 親記事をトピックトップへ ]

このトピックに書きこむ

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

■12257 / inTopicNo.1)  Re[17]: コマンドボタンから一括処理実行後の設定
  
□投稿者/ ONnoji -(2020/04/24(Fri) 13:03:52)
    2020/04/24(Fri) 17:30:29 編集(投稿者)

    > 過去に会話処理を履歴で作るというのは「2.ネットで紹介記事を読んだ」
    > 記憶は定かではありませんが、コマンドボタンの開く指定はファイルを開く
    > イメージだったので「1.独自に思い付いた」ような気がします。
    > まさか普通じゃなかったとは、今回はショックでした

     普通じゃなかったというワケではありませんよ。

     ただし、いろいろと制限があるのです。

     この制限は後述します。

     だから、Yamaさんのようにプログラミングの初級者の場合には、

     今回の例のように、イベント処理で一般手続きを作成して、[機能名:手続き実行]で実行するのがベストな選択だと思いますよ。

    うにんさん> 桐のcmdファイルを指定するというのは普通に出てくる考えではないですかね...

     その通りですね。

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    以下に制限をまとめて置きましょう。

    ■コマンドボタンの機能名が実行されない制限

    困ったことに、ヘルプ等には記載が全然見つかりませんが…

    コマンドボタンの[機能名 n ]( n は 1 〜3 )で[開く 一括処理.cmd/.cmx]を実行すると、

    コマンドボタンの[機能名 n + 1 ]( n + 1 は 2 〜4 )で指定した機能は実行されません。

    つまり、[開く 一括処理.cmd/.cmx]を実行すると、次に実行を期待していたコマンドボタンの機能が動作しません。

    従って、この制限を知らない場合、「アレレ〜、何で!?」ということになり、実行する一括処理の内容を調べたりします。

    でも、一括処理の内容とは関係なく、次に実行を期待していたコマンドボタンの機能が動作しないと気が付かない場合もあります。

    今回の質問がまさにこれに該当します。

    ■一括処理.cmd/.cmx の動作に関する制限

    フォームのコマンドボタンで一括処理ファイル( .cmd/.cmx )を開いた場合、

    1.

    「許可作業=*」の[表形式編集]コマンドまたは[フォーム形式編集]コマンドが実行されると、一括処理がその行で終了します。

     ↑これは以下のヘルプからの引用です。

     ヘルプ
     │
     └ 一括処理・履歴・イベント
       │
       └ 入門
         │
         └ 一括処理の定義と実行
           │
           └ 定義の終了と実行

     ※桐9-2012 と 桐10s で内容は同じです


    2.

     編集対象表があるフォームで、

     履歴で使用されている[使用フォーム]コマンドを実行すると、表編集に遷移して、一括処理を続行しますが、

     その時、フォームにイベント処理( .kev/.kex )がセットされている場合、フォームが閉じられるので[フォーム終了]イベントが発生します。


    ※その他にもあるかもしれませんが、調査不足で詳細は不明です。



引用返信 [メール受信/OFF] 削除キー/
■12254 / inTopicNo.2)  Re[16]: コマンドボタンから一括処理実行後の設定
□投稿者/ ONnoji -(2020/04/23(Thu) 16:09:28)
    2020/04/24(Fri) 00:32:57 編集(投稿者)

    > 明細読込のボタンの設定は以下の通りです。
    > →機能 機能パラメータ
    > 1:表示 確定する
    > 2:開く "明細読込.cmd"
    > 3:なし
    > 4;閉じる
    > 当然のことですが機能名の4:閉じるは全く意味がありません。

    プログラミングは自由なのですから、

    今村さんのように、すべて承知の上で行うのであれば、もちろんOKなんですよ。

    しかし、「コマンドボタンの[機能名 3][機能名 4]を連続して実行する場合にはNGですよ」ということが、

    履歴しか利用したことがない人や、一括処理の初級者の場合には、理解できなくて不思議でしょうがないと思います。

    だから、「おススメしない」と老婆心ながら言っているのであって、「一括処理だと実現出来ない」と言っているのではありませんよ。

    そういう理由から、「すべて承知の上で行うのであればOKです」と言っているのです。

    今まで特に個人的な意見と断りを書いてきませんでしたが、当然ながらこれは私( ONnoji )の個人的意見です。

     ◇ ◇ ◇ ◇ ◇ ◇

    なお、まったく意味をなさない[機能名 3][機能名 4]に機能を指定するのは、私は好きじゃないですね。(^^ゞ

    ちなみに、[使用フォーム]コマンドや[フォーム形式編集]コマンドは、

    イベント処理( .kev/.kex )で使用できないという理由から、私は絶対に使いませんよ。

    何故ならば、「DOS桐以来の[古典一括処理]」や「桐ver.7で導入された[拡張括処理]」の旧パラダイムから、

    「桐ver.8からの始まった[フォーム+イベント処理によるプログラミングスタイル]」の新パラダイムにパラダイムシフトしているからです。

    これは、[アリストテレスの天動説]から[ガリレオの地動説]へのパラダイムシフトに非常によく似ています。

    [フォーム+イベント処理]で使用できないコマンドは、

    旧パラダイムである[DOS桐以来の古典一括処理]と[桐ver.7で導入された拡張一括処理]の専用のコマンドということです。

    だから、新しいパラダイムである[フォーム+イベント処理]を使用するならば、

    旧パラダイムのコマンドが使えないことは、なんら不自由な事にならないのです。

    もちろん↑これも私( ONnoji )の個人的意見です。

    【引用】パラダイムシフト 出典: フリー百科事典『ウィキペディア(Wikipedia)』
    パラダイムシフト(英: paradigm shift)とは、
    その時代や分野において当然のことと考えられていた認識や思想、社会全体の価値観などが革命的にもしくは劇的に変化することをいう。
    パラダイムチェンジともいう。
    科学史家トーマス・クーンが科学革命で提唱したパラダイム概念の説明で用いられたものが拡大解釈されて一般化したものである。
    ■要因と事例
    パラダイムシフトの例として、まず旧パラダイム(例:天動説)が支配的な時代は、多くの人(科学者)がその前提の下に問題解決(研究)を行い、
    一定の成果を上げるが、その前提では解決できない例外的な問題(惑星の動きがおかしい)が登場する。
    このような問題が累積すると、異端とされる考え方の中に問題解決のために有効なものが現れ、解決事例が増えていくことになる。
    そしてある時期に、新パラダイム(地動説)を拠り所にする人(科学者)の数が増えて、それを前提にした問題解決(研究)が多く行われるようになる。
    以後、以上の動きが繰り返される。



引用返信 [メール受信/OFF] 削除キー/
■12253 / inTopicNo.3)  Re[15]: コマンドボタンから一括処理実行後の設定
□投稿者/ 今村 誠 -(2020/04/23(Thu) 15:52:31)
    ONnojiさんこんにちは以下の内容の一括処理を作成します。
    明細読込.cmd
    表 "kokyaku.tbl"
     読み込み K3,"kokyaku.k3", 項目名=しない, 終了状態=&秒,*
    使用フォーム "作業.wfm"
    フォーム形式編集  画面消去=しない, 更新=許可, 許可作業=*, 終了状態=&秒

    ここで閉じるを押すと残っていた"menu.wfm"が表示されます。
    表示→表編集 は正常に動作します。↑がポップアップだと背景に回ります。
    ウィンドの形式がチャイルドだと表の方が優先表示されます。
     メニューと開いた一括から呼び出されたフォームは別ウィンドなので
    どちらにもフォーカスの移動が可能です。

    明細読込のボタンの設定は以下の通りです。
    →機能 機能パラメータ
    1:表示 確定する
    2:開く "明細読込.cmd"
    3:なし
    4;閉じる
    当然のことですが機能名の4:閉じるは全く意味がありません。
引用返信 [メール受信/OFF] 削除キー/
■12252 / inTopicNo.4)  Re[14]: コマンドボタンから一括処理実行後の設定
□投稿者/ ONnoji -(2020/04/23(Thu) 11:00:46)
    蛇足ですが…

    コマンドボタンの[機能名:開く]で一括処理( .cmd/.cmx )を指定した時、

    実行中の一括処理で、[表形式編集]コマンドまたは[フォーム形式編集]コマンドが実行されると、一括処理がその行で終了します。

    ↑このことがヘルプに書いたあったのを見つけたのでお知らせします。

    ※履歴を改変している一括処理の場合によくある[使用フォーム]コマンドも同じです。

    ヘルプ

    └ 一括処理・履歴・イベント
      │
      └ 入門
        │
        └ 一括処理の定義と実行
          │
          └ 定義の終了と実行

    桐9-2012 と 桐10s で内容は同じです。
    ■ノート
    ・表編集画面またはフォーム編集画面で[ファイル]メニューの[一括処理実行]から一括処理を実行したとき、
     「許可作業=*」の[表形式編集]コマンドまたは[フォーム形式編集]コマンドが実行されると、一括処理がその行で終了します。
     フォームのコマンドボタンで一括処理ファイルを開いた場合でも同様です。
    ・イベント処理が定義されているフォームを、一括処理から操作した場合、実行できなくなるメソッドがあります。
     たとえば、つぎのコマンドを一括処理から実行した場合は、[更新モード設定]メソッドが使用できません。

      行挿入 会話
      行追加 会話
      行訂正 会話
      グループ検索 会話
      グループ値訂正 会話
      グループ追加 会話

    ・一括処理ファイルを定義で開いているときに、一括処理を実行すると、デバッグ実行に切り替えて実行します。ご注意ください。



引用返信 [メール受信/OFF] 削除キー/
■12251 / inTopicNo.5)  Re[13]: コマンドボタンから一括処理実行後の設定
□投稿者/ ONnoji -(2020/04/23(Thu) 09:52:42)
    > 桐9sの「機能名の選択」の所で、「開く」を選択すると、下の説明に
    > 【機能パラメータ】
    > <ファイル名>[,<オプション>...]
    > 【説明】
    > パラメータは文字列式として評価する。
    > 桐のファイル、またはシェルで実行できるファイル名を指定する。
    >
    > 云々と出てきますから、桐のcmdファイルを指定するというのは普通に出てくる考えではないですかね...
    > 桐10では、説明が変わってますか?

    変わっていないと思いますよ。

    こちら
     ↓

    桐10s 機能名:開く

    【機能パラメータ】
    <ファイル名>[,<オプション>...]
    【説明】
    パラメータは文字列式として評価する。
    桐のファイル、またはシェルで実行できるファイル名を指定する。
    実行プログラム(.EXE)以外のファイル名を相対パスで指定すると、このフォームのパスを想定する。
    URLも指定できる。
    <オプション>::={"共有する"|"更新しない"|"定義"|"印刷"}
    【起動条件など】
    開けなければ中止する。

引用返信 [メール受信/OFF] 削除キー/
■12250 / inTopicNo.6)  Re[12]: コマンドボタンから一括処理実行後の設定
□投稿者/ うにん -(2020/04/23(Thu) 08:30:32)
    > しかし、この掲示板でも過去に何度か同様の質問に挙がっています。
    >
    > そこで教えていただきたいのですが、
    >
    > コマンドボタンの[機能名:開く]で一括処理( .cmd/cmx )を指定する方法は、
    >
    > 1.独自に思い付いた
    > 2.ネットで紹介記事を読んだ
    > 3.サンプルを見た
    > 4.その他

    桐9sの「機能名の選択」の所で、「開く」を選択すると、下の説明に
    【機能パラメータ】
    <ファイル名>[,<オプション>...]
    【説明】
    パラメータは文字列式として評価する。
    桐のファイル、またはシェルで実行できるファイル名を指定する。

    云々と出てきますから、桐のcmdファイルを指定するというのは普通に出てくる考えではないですかね...
    桐10では、説明が変わってますか?
引用返信 [メール受信/OFF] 削除キー/
■12246 / inTopicNo.7)  Re[13]: コマンドボタンから一括処理実行後の設定
□投稿者/ ONnoji -(2020/04/22(Wed) 09:41:23)
    > 過去に会話処理を履歴で作るというのは「2.ネットで紹介記事を読んだ」
    > 記憶は定かではありませんが、コマンドボタンの開く指定はファイルを開く
    > イメージだったので「1.独自に思い付いた」ような気がします。
    > まさか普通じゃなかったとは、今回はショックでした

    回答ありがとうございます。

    もう来なくていいですよ。(@^^@)/~~~


引用返信 [メール受信/OFF] 削除キー/
■12245 / inTopicNo.8)  Re[12]: コマンドボタンから一括処理実行後の設定
□投稿者/ Yama -(2020/04/22(Wed) 09:35:11)
    お呼ばれしたので、また来ました!

    >コマンドボタンの[機能名:開く]で一括処理( .cmd/cmx )を指定する方法は、
    > 1.独自に思い付いた
    > 2.ネットで紹介記事を読んだ
    > 3.サンプルを見た
    > 4.その他

    過去に会話処理を履歴で作るというのは「2.ネットで紹介記事を読んだ」
    記憶は定かではありませんが、コマンドボタンの開く指定はファイルを開く
    イメージだったので「1.独自に思い付いた」ような気がします。
    まさか普通じゃなかったとは、今回はショックでした
    こんなところです

引用返信 [メール受信/OFF] 削除キー/
■12243 / inTopicNo.9)  Re[11]: コマンドボタンから一括処理実行後の設定
□投稿者/ ONnoji -(2020/04/22(Wed) 08:51:14)
    2020/04/22(Wed) 08:55:28 編集(投稿者)

    > もう、来るなと思うでしょうが、また来ます!

    もっと
    うまく
    くふうすると
    るーちんわーくがすっきり
    なる
    とおもいます


    先頭の一文字だけを縦に読んでね。→もう、来るなと(^^ゞ

     ◇ ◇ ◇ ◇ ◇ ◇

    ちょっと教えてください。

    コマンドボタンの[機能名:開く]で一括処理( .cmd/cmx )を指定するのは、一括処理の上級者がすべて承知の上で行うのであればOKですが、

    履歴しか利用したことがない人や、一括処理の初級者の場合には、絶対におススメできません。

    しかし、この掲示板でも過去に何度か同様の質問に挙がっています。

    そこで教えていただきたいのですが、

    コマンドボタンの[機能名:開く]で一括処理( .cmd/cmx )を指定する方法は、

    1.独自に思い付いた
    2.ネットで紹介記事を読んだ
    3.サンプルを見た
    4.その他

    貴殿の場合、これらのうちのいずれに該当するのでしょうか?

    教えていただければ嬉しいです。


引用返信 [メール受信/OFF] 削除キー/
■12242 / inTopicNo.10)  Re[10]: コマンドボタンから一括処理実行後の設定
□投稿者/ Yama -(2020/04/22(Wed) 08:12:41)
    ONnojiさん   

    出来ました! あっさり出来て、今までの悩みはなんだったの?って感じでした

    確かに私の説明不足と知識不足があり、今村さんから頂いたアドバイスはピンときていませんでした。

    私のイベント知識はせいぜい、年月日などを変数に入れる程度のことでしたので、
    今回は、感覚をつかむため、ONnojiさんからのイベント記述をコピーせず
    あえて入力してみました。(・・・といっても書いてあるものを再入力しただけですが。)

    結果、コマンドボタンとイベントで私のしたいことはほぼできることを知りました。
    とても勉強になりました。
    実は過去から桐で作るにあたっては同様の悩みがありました。
    これで解決しました。

    ONnojiさん、今村さんありがとうございました。
    もう、来るなと思うでしょうが、また来ます!
    ありがとうございます!

解決済み!
引用返信 [メール受信/OFF] 削除キー/
■12241 / inTopicNo.11)  Re[10]: コマンドボタンから一括処理実行後の設定
□投稿者/ Yama -(2020/04/22(Wed) 07:28:52)
    No12240に返信
    ONnojiさん、ありがとうございます!

    昨日のCMD記述は、コピーペーストしたものです。

    頂いた内容、じっくり見てました。
    このとおりやってみますね。 後ほど、ご報告します!

引用返信 [メール受信/OFF] 削除キー/
■12240 / inTopicNo.12)  Re[9]: コマンドボタンから一括処理実行後の設定
□投稿者/ ONnoji -(2020/04/21(Tue) 22:41:40)
    2020/04/22(Wed) 01:02:01 編集(投稿者)

    > B全体的に流れは
    >  1)「他表A.tbl」←「車型マスタ.tbl」(表引きでカウンタとその他があります)
    >  2) 「車型マスタ.tbl」のカウンタを置換し他の表引きデータを更新します。
    >  3) 「車型マスタ.tbl」に→「型マスタ.tbl」が読込をしています。
    >    フォームはtblの無いコマンドボタンの着いたものです。
    >  4)3段階の処理が完了したら一括処理を終了し「作業.wfm」「型マスタ.tbl」に移動したいのです。

    1〜3は、提示された[履歴を改変した一括処理]で完了していると理解しました。

    残った問題は、「作業.wfm」を開く方法だけのようです。

    当初から、今村さんがサンプルを示されたように、イベント処理ファイルを用意して、一般手続きを呼び出せば済みます。

    ただし、貴殿はイベント処理ファイルの作り方をご存じなかったので、せっかくの情報も貴殿の心の琴線に響かなかったということです。

    以下を参考にしてトライしてみてください。

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

     ■準備

     [簡易プロパティ]の場合には[イベント]タブが表示されませんので、必ず[詳細プロパティ]に設定してください。

     <操作>
     1.フォーム定義で[書式]メニュー → [定義画面の設定]を選びます。
     2.[定義画面の設定]ウィンドウを開きます。
     3.一番下と下から二番めの項目にチェックマークを付けてください。
     □  操作ナビを消去する
     □  詳細プロパティを使用する
     ↑
     この二つにチェックマークを付けてください。

     ■フォームの手直し

     既存のコマンドボタン:オブジェクト名: コマンドボタン_12 は削除せずに、ワークスペースなどに移動します。
     ※不要なオブジェクトの削除はいつでも出来ますので、なんでもかんでも削除する必要はありません。

     ―新しく次のコマンドボタンを作成してください。

     オブジェクト名: cmd作業開始
     標題     : 作業開始

      機能名     機能パラメータリスト
     1 表示
     2 手続き実行   cmd作業開始Click
     3 開く      作業.wfm
     4 閉じる

     ■イベント処理ファイルの作成

     1.フォーム定義の状態で、メニュバー[書式]→[イベントの定義]を実行します。
     2.[イベント処理ファイルの選択]ダイアログで、ファイル名を入力して[OK]ボタンを実行します。
     ※必ずフォームと同じフォルダにイベント処理ファイル( .kev )を作成します
     ※ファイル名に任意のファイル名を付けられますが、基本的にはフォーム名と同じにします。拡張子( .kev )は自動的に付加されます。

     以上の操作でイベント処理ファイルが作成されます

     ■コマンドボタンから実行する一般手続き:cmd作業開始Click を作成する

     1.イベント定義画面のツールバーで、[ファイル編集]ボタンをクリックします。※ヘルプ参照 または 添付画像参照

     2.イベント処理ファイルの終端行へ移動します。

     3.次の一般手続き:cmd作業開始Click( )をコピーしてイベント処理ファイルに貼り付けます。

     コピーする範囲は、[手続き定義開始 cmd作業開始Click( )]の行から[手続き定義終了]の行までです。

     ※読み易いように、空行を挿入しています。隙間無くびっしり書かなくても処理速度は低下しません。

    手続き定義開始 cmd作業開始Click( )

     表  "車型マスタ.tbl"
     解除  *

     置換 [カウンタダミ]
     絞り込み [カウンタダミ]{[車型コードダミ]=[車型コード]}

     表 "型マスタ.tbl"
     解除  *

     読み込み条件登録 表,条件名="","車型マスタ.tbl",ファイル名変更=しない,\
      {[カウンタ][カウンタダミ],[車型コード][車型コードダミ],[作業番号][作業番号],[共通車型][共通車型],\
      [車型作業番号][車型作業番号],[作業左右][作業左右],[作業項目][作業項目],[点検基準][点検基準],\
      [作業][作業],[作業金額][作業単価],[単位][単位],[部品単価][部品単価]},編集表=する

     読み込み 表,条件名=""

     編集表 "車型マスタ.tbl"
     終了 表 編集対象表

     編集表 "型マスタ.tbl"
     終了 表 編集対象表

    手続き定義終了


     以上の操作でイベント処理ファイルに一般手続き:cmd作業開始Click( )が作成できます。

     なお、一般手続き:cmd作業開始Click( ) は、

     コマンドボタン:cmd作業開始 の[機能名 2]の[手続き実行 cmd作業開始Click]で呼び出されるものです。

     このように、コマンドボタンと一般手続き名に関連を付けておくと、どれがどれだったか後で分かりやすくなります。

    なお、ヘルプの 一般手続きを定義する という項が参考になるので必ず読んで下さい。

    ヘルプ

    └ 一括処理・履歴・イベント
      │
      └ 入門
        │
        └ イベント処理
          │
          └ 定義してみましょう
            │
            └ 一般手続きを定義する

     ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

    <追伸>

    説明すると長くなるので結論だけを申し上げますが…

    コマンドボタンの[機能名:開く]で一括処理を指定するのは、一括処理の上級者がすべて承知の上で行うのであればOKですが、

    履歴しか利用したことがない人や、一括処理の初級者の場合には、絶対におススメしません。


引用返信 [メール受信/OFF] 削除キー/
■12239 / inTopicNo.13)  Re[8]: コマンドボタンから一括処理実行後の設定
□投稿者/ ONnoji -(2020/04/21(Tue) 19:36:52)
    2020/04/21(Tue) 19:37:35 編集(投稿者)

    > 下記に動作しているCMDを記述いたします、
    >
    > 履歴開始 KHL0001
    > 変数宣言 整数{&履歴変数}
    > 表  "車型マスタ.tbl"
    > 条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
    > 置換 [カウンタダミ]
    > 絞り込み [カウンタダミ]{[車型コードダミ]=[車型コード]}
    > ****************************
    > 表 "型マスタ.tbl",モード=専有
    > 条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
    > 読み込み条件登録 表,条件名="","車型マスタ.tbl",ファイル名変更=しない,{[カウンタ][カウンタダミ],[車型コード][車型コードダミ],[作業番号][作業番号],[共通車型][共通車型],[車型作業番号][車型作業番号],[作業左右][作業左右],[作業項目][作業項目],[点検基準][点検基準],[作業][作業],[作業金額][作業単価],[単位][単位],[部品単価][部品単価]},編集表=する
    > 読み込み 表,条件名=""
    > 代入 &履歴変数 = #IS表
    > 中止 表 &履歴変数
    > *************************
    > 代入 &履歴変数 = #IS表
    > 中止 表 &履歴変数
    > **********************フォームを開きたいけど。
    > 履歴終了 KHL0001,表

    確認ですが、↑これは、明細読み込み.cmd を コピー&ペーストしたものですよね。

    手で書き写したものでなければOKですが、もしも手で書き写したものであれば、

    明細読み込み.cmd を コピー&ペーストした内容を提示してください。


引用返信 [メール受信/OFF] 削除キー/
■12238 / inTopicNo.14)  Re[7]: コマンドボタンから一括処理実行後の設定
□投稿者/ Yama -(2020/04/21(Tue) 19:11:53)
    ONnojiさん、お忙しいところありがとうございます

    履歴は一括処理と同じではない、というのは知りませんでした。
    でも、自分のもので説明を受けるととても良く理解できます。
    ただ、説明能力というのは重要だとつくづく感じます。

    ・やりたいことを順に書きますね。(実際に正常に動作しています)
    @「車型マスタ.Tbl」では「他表A.tbl」から#表引きしている「カウンタ」「車型コード」その他があります。「他表A」はデータ内容が変わることもあるので、#表引きしている「カウンタ」計算項目で置換をし、他の計算項目も書き換えています。
     ※「他表A.tbl」には一時的に1つの車型データに整理されています。

    A続いて「カウンタ」置換により整理された「車型マスタ.Tbl」に対して「型マスタ.tbl」が読込を行います。
    ・読み込み条件登録 表,条件名="","車型マスタ.tbl",ファイル名変更=しない,{[カウンタ][カウンタダミ],[車型コード][車型コードダミ],[作業番号][作業番号]
    ・・・というのは、単に読込の条件です。

    B全体的に流れは
     1)「他表A.tbl」←「車型マスタ.tbl」(表引きでカウンタとその他があります)
     2) 「車型マスタ.tbl」のカウンタを置換し他の表引きデータを更新します。
     3) 「車型マスタ.tbl」に→「型マスタ.tbl」が読込をしています。
       フォームはtblの無いコマンドボタンの着いたものです。
     4)3段階の処理が完了したら一括処理を終了し「作業.wfm」「型マスタ.tbl」に移動したいのです。
    ・・・これでどうでしょうか。
    下記に動作しているCMDを記述いたします、申し訳ありません。

    履歴開始 KHL0001
    変数宣言 整数{&履歴変数}
    表  "車型マスタ.tbl"
    条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
    置換 [カウンタダミ]
    絞り込み [カウンタダミ]{[車型コードダミ]=[車型コード]}
    ****************************
    表 "型マスタ.tbl",モード=専有
    条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
    読み込み条件登録 表,条件名="","車型マスタ.tbl",ファイル名変更=しない,{[カウンタ][カウンタダミ],[車型コード][車型コードダミ],[作業番号][作業番号],[共通車型][共通車型],[車型作業番号][車型作業番号],[作業左右][作業左右],[作業項目][作業項目],[点検基準][点検基準],[作業][作業],[作業金額][作業単価],[単位][単位],[部品単価][部品単価]},編集表=する
    読み込み 表,条件名=""
    代入 &履歴変数 = #IS表
    中止 表 &履歴変数
    *************************
    代入 &履歴変数 = #IS表
    中止 表 &履歴変数
    **********************フォームを開きたいけど。
    履歴終了 KHL0001,表

引用返信 [メール受信/OFF] 削除キー/
■12237 / inTopicNo.15)  Re[6]: コマンドボタンから一括処理実行後の設定
□投稿者/ ONnoji -(2020/04/21(Tue) 18:29:30)
    2020/04/21(Tue) 18:58:08 編集(投稿者)

    履歴と一括処理は同じものではありません。

    履歴とは、表編集専用のマクロのことです。

    ですから履歴専用のコマンドや履歴専用の変数があります。

    ■履歴

     履歴開始 KHL0001
     変数宣言 整数{&履歴変数}
     表  "型マスタ.tbl"
     条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
     置換 [カウンタダミ]
     絞り込み [カウンタダミ]{[車型コードダミ]=[車型コード]}
     ****************************
     ** 表 "型マスタ2.tbl",モード=専有
     表 "車型マスタ.tbl",モード=専有
     条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
     読み込み条件登録 表,条件名="","車型マスタ.tbl",ファイル名変更=しない,\
      {[カウンタ][カウンタダミ],[型コード][型コードダミ],[作業番号][作業番号],[共通型][共通型] },編集表=する
     代入 &履歴変数 = #IS表
     中止 表 &履歴変数
     *************************
     代入 &履歴変数 = #IS表
     中止 表 &履歴変数
     **********************ここで現在の@フォームを閉じて、作業.wfmを開きたいのです!
     履歴終了 KHL0001,表

     ↓

    ■一括処理のコマンド

     [履歴開始]コマンド、[履歴終了]コマンドは、履歴専用のコマンドであって通常の一括処理コマンドではありません。
      &履歴変数 変数は、履歴専用の変数であって通常の変数ではありません。

     条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除 は「整列状態ならば整列解除という意味」で通常は実行されません。

     よって、一括処理に書き改めると…

     表  "型マスタ.tbl"
     置換 [カウンタダミ]
     絞り込み [カウンタダミ]{[車型コードダミ]=[車型コード]}

     表 "車型マスタ.tbl" /* 型マスタ2.tbl じゃなくて本当によいのか?? */
     読み込み条件登録 表,条件名="","車型マスタ.tbl",ファイル名変更=しない,\
      {[カウンタ][カウンタダミ],[型コード][型コードダミ],[作業番号][作業番号],[共通型][共通型] },編集表=する


     ↑と実質的にはたったこれだけになってしまうのです。

    内容を吟味すると、

    ・型マスタ.tbl を開き → 表  "型マスタ.tbl"
    ・計算項目[カウンタダミ]を再計算 → 置換 [カウンタダミ]
    ・[車型コードダミ]=[車型コード] という比較式で絞り込む → 絞り込み [カウンタダミ]{[車型コードダミ]=[車型コード]}

    ・車型マスタ.tbl を開き → 表  "車型マスタ.tbl"
     ※型マスタ2.tbl じゃなくて本当によいのか??
    ・車型マスタ.tbl から レコードを読み込む[読み込み条件を登録している] →  読み込み条件登録 表,条件名="","車型マスタ.tbl", …

    しかし、困ったことに↑これって意味不明な内容なんですね。

    つまり、何をしたいのかがアヤフヤで読み取れないのす。

     型マスタ.tbl 車型マスタ.tbl 型マスタ2.tbl

    この3つの表の関係はどうなっているのでしょうか????

    この内容ですと、「フォームのボタンを実行したら」云々以前に、処理内容が破綻していると申し上げるしかないのです。

     ◇ ◇ ◇ ◇ ◇

    そこで提案ですが、今までの経緯は無しにして、

    貴殿が

     型マスタ.tbl 車型マスタ.tbl 型マスタ2.tbl

    これらの表のデータをどういう方向で読み込みたいのか?

    つまり、

     表 A.tbl ← 読み込み ← 表B.tbl は、

     この時の A.tbl と 表B.tbl は、型マスタ.tbl 車型マスタ.tbl 型マスタ2.tbl にどれに対応するのか??

    を教えてください。

    そして、この操作で実行している(正しく動作しているものに限ります)履歴ファイルの内容を教えてください。


引用返信 [メール受信/OFF] 削除キー/
■12236 / inTopicNo.16)  Re[5]: コマンドボタンから一括処理実行後の設定
□投稿者/ Yama -(2020/04/21(Tue) 15:51:02)
    > 明細読み込み.cmd で、作業.wfm を開くというのは、問題をさらに複雑にするだけです。
    >
    > この発想はまったく駄目ですよ。※最悪です。
    >
    > 所要があり外出しますので、詳しい回答は後ほど致します。
    >
    > それまで、このままでお待ちください。
    >

    ありゃ。最悪なんですね。知らないってのは怖いです
    お忙しいところ誠に申し訳ございません。
    よろしくお願いします。
引用返信 [メール受信/OFF] 削除キー/
■12235 / inTopicNo.17)  Re[4]: コマンドボタンから一括処理実行後の設定
□投稿者/ ONnoji -(2020/04/21(Tue) 15:44:38)
    > ・・・、となると一括処理からフォームを指定するというのはできますよね。
    >
    > ・状態は上記の@フォームのコマンドボタンから一括処理を実行させて、
    > 一括処理から@フォームを閉じて、作業.wfmを開きたいのです

    明細読み込み.cmd で、作業.wfm を開くというのは、問題をさらに複雑にするだけです。

    この発想はまったく駄目ですよ。※最悪です。

    所要があり外出しますので、詳しい回答は後ほど致します。

    それまで、このままでお待ちください。


引用返信 [メール受信/OFF] 削除キー/
■12234 / inTopicNo.18)  Re[3]: コマンドボタンから一括処理実行後の設定
□投稿者/ Yama -(2020/04/21(Tue) 15:33:45)
    No12233に返信(Yamaさんの記事)

    失礼しました。

    表 "型マスタ2.tbl",モード=専有は、車型マスタ.tbl でした。

    よろしくお願いします。
引用返信 [メール受信/OFF] 削除キー/
■12233 / inTopicNo.19)  Re[2]: コマンドボタンから一括処理実行後の設定
□投稿者/ Yama -(2020/04/21(Tue) 15:31:09)
    No12227に返信(ONnojiさんの記事)

    >  オブジェクト名: コマンドボタン_12
    >  標題     : 作業開始
    >
    >   機能名     機能パラメータリスト
    >  1 開く      明細読み込み.cmd
    >  2 閉じる
    >  3 なし
    >  4 なし
    >
    > ↑こうすれば、[機能名 2]の[閉じる]が実行されないことに気が付くと思いますよ。

    ・ONnojiさん ありがとうございます。
    すぼしのご返答で、処理の要件は満たすにしても一括処理が行ったきりの状態なんです。
    なにか自動チックじゃないと理想を上げてしまいました。
    しかし、まだ未熟でなかなか理解ができないでいます。

    ・・・、となると一括処理からフォームを指定するというのはできますよね。

    ・状態は上記の@フォームのコマンドボタンから一括処理を実行させて、
    一括処理から@フォームを閉じて、作業.wfmを開きたいのです

    ★現在の一括処理「明細読み込み.cmd」の内容です。

    履歴開始 KHL0001
    変数宣言 整数{&履歴変数}
    表  "型マスタ.tbl"
    条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
    置換 [カウンタダミ]
    絞り込み [カウンタダミ]{[車型コードダミ]=[車型コード]}
    ****************************
    表 "型マスタ2.tbl",モード=専有
    条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
    読み込み条件登録 表,条件名="","車型マスタ.tbl",ファイル名変更=しない,{[カウンタ][カウンタダミ],[型コード][型コードダミ],[作業番号][作業番号],[共通型][共通型] },編集表=する
    代入 &履歴変数 = #IS表
    中止 表 &履歴変数
    *************************
    代入 &履歴変数 = #IS表
    中止 表 &履歴変数
    **********************ここで現在の@フォームを閉じて、作業.wfmを開きたいのです!
    履歴終了 KHL0001,表

引用返信 [メール受信/OFF] 削除キー/
■12232 / inTopicNo.20)  Re[2]: コマンドボタンから一括処理実行後の設定
□投稿者/ ONnoji -(2020/04/21(Tue) 15:00:34)
    2020/04/21(Tue) 15:04:37 編集(投稿者)

    以下の過去ログが参考になると思いますので、ご一読をおススメいたします。

    こちら
     ↓
    > ・一括処理は一括処理から実行する
    > ・イベント処理はフォームを開いて実行する
    >
    > このどちらにも当てはまらないものがある。
    >
    > 1.会話処理でフォームを開いて、コマンドボタンの機能名:開く で一括処理を実行する
    >
    >  または
    >
    > 2.一括処理でフォームを開いて、コマンドボタンの機能名:開く で一括処理を実行する
    > ※↑2の場合にはどうやってもコマンドボタンが実行できないようです…(^^ゞ
    >
    > 1.のように確かにコマンドボタンの機能名:開く で一括処理 を実行できる。
    >
    > しかし、一括処理に[表形式編集]コマンドが含まれている場合、一括処理が停止してしまうことが判っている。
    >
    >  ◇ ◇ ◇ ◇
    >
    > 人それぞれに意見が異なるだろうと思いますが、
    >
    > 私( ONnoji )は、イベント処理と一括処理のチャンポンは止めた方がよいと考えています。
    >
    > <理由>
    >
    > ・Windows ではフォームを使ったイベントドリブンのプログラミングが一般的である。
    >
    > ・一括処理は、Dos桐のプログラミングスタイルである。※対話処理をしない純粋なバッチ処理ならばOK
    >
    > ・二兎を追う者のは一兎も得ず。※イベント処理と一括処理の両方の知識を持つ必要ない
     ↓
    ■11276 フォームで起動時にメッセ−ジ表示|過去ログ74
    http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=al2&namber=11276&rev=&no=0&KLOG=74



引用返信 [メール受信/OFF] 削除キー/

次の20件>

トピック内ページ移動 / << 0 | 1 >>
Mode/  Pass/

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

- Child Tree -
- Antispam Version -