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

■14103 / 親記事)  表番号の謎
  
□投稿者/ 桐太郎 -(2024/02/03(Sat) 00:33:32)
    WIN11、桐10S使用です。
    イベントを触りはじめたというレベルです。

    編集対象表をもたないメニューフォームにある
    コマンドボタンを押して、
    売上.TBXに販売.TBXのデータを読み込む。
    読み込み後、売上.TBXのウィンドウを作成する。
    イベントはここまでです。
    その後は売上.TBXのウィンドウで会話処理で
    細かい部分を修正して目視で確認してから
    売上.TBXを保存終了する。
    このようなことをしたく、メニューフォームに
    以下のとおりイベントを作成しました。
    (実際は販売.TBXをいろいろ絞り込みしてから読み込むのですが、
    単純化した内容です。)

    今回お聞きしたいのは、以下のイベントのとおり、
    売上.TBXの表番号を32としたところ、
    売上.TBXのウィンドウの右上の×印を押したら、
    「更新されています。保存しますか」という
    メッセージがでずにウィンドウが消えてしまいます。

    売上.TBXの表番号を32から2に変更したら、
    「更新されています。保存しますか」
    というメッセージが表示されます。

    32にするとなぜそうなるのか、
    桐の他の箇所の設定の問題で起きる問題なのか、
    チンプンカンプンです。
    ファイルも添付するので教えてください。

    手続き定義開始 "販売から売上へデータ移行クリック"()
    表 "販売.TBX", 表番号=1
    表 "売上.TBX", 表番号=32
    ウィンドウ作成 表
    ジャンプ 行番号= 終端
    読み込み 表,"販売.TBX"
    終了 表 1
    手続き定義終了





1706888012.zip
/13KB
引用返信 [メール受信/OFF] 削除キー/
■14104 / ResNo.1)  Re[1]: 表番号の謎
□投稿者/ ONnoji -(2024/02/04(Sun) 11:43:04)
    表( tbl/tbx )に[バックアップをとる]がオンの場合で、
    データが変更されているならば、表ウィンドウを閉じる際に、

    ! d:\path\○○○.TBX
      は更新されています.保存しますか?
      [はい][いいえ][キャンセル]

    のメッセージボックスが表示されます

    以上のほかに意外な盲点として・・・

    辞書順で並べ替え替えをすると、何故か表がダーティになってしまったと記憶しています。
    単に並べ替えするだけでダーティになりますので気付き難いですよ。
    p.s.
    只今パソコンが手元に無いので記憶だけで投稿しました。

引用返信 [メール受信/OFF] 削除キー/
■14105 / ResNo.2)  Re[1]: 表番号の謎
□投稿者/ 悲しげ -(2024/02/04(Sun) 16:02:45)
    No14103に返信(桐太郎さんの記事)

    「なぜそうなるのか?」についての説明ではありませんが、
    どうしてかはともかく、私なら例えばどう対応しているかに
    ついて経験を少し書きます。

    実は「ウィンドウ作成 表」から入ると、私の場合、表番号やら
    ウィンドウハンドルその他がどうなっているのか、ワケワカメに
    なってしまっていました。
    表番号で言えば、ONnojiさんが例示したようなバックアップあり
    とか、あるいは並べ替えやら多重化とかやらで、恐らく桐の側で
    勝手に(と言うか親切にも自動的に)表番号を割り当ててくれる
    こともあるようです(表番号も自動的に可変)。

    そんな訳で私は、ある時期からなるべく「ウィンドウ作成」コマ
    ンドを使わずに、まずはフォームを開くから入って、桐が自動的
    にウィンドウハンドルや表番号とかを割り当ててくれるに任せて
    (従ってイベントの記述の中で表番号とかを当方で指定すること
    はなく)一括処理の記述を書いていました。
    で、中には表番号を利用したい事もあるので、そんな時は例えば

     変数宣言 長整数{&is表1,&is表2,&is表3,・・・・
     *フォーム(の編集表)を開いている状態だとして
     &is表1=#IS表
     編集表 "ナントカ.tbx"  ←別の表
     &is表2=#IS表
     ・・・・
     編集表 &is表1
     ・・・・
     読み込み &is表1
     ・・・・
     終了 表 &is表2

    のように桐が自動的に割り当てている表番号を取得して、その後の
    処理を記述する、とか。

引用返信 [メール受信/OFF] 削除キー/
■14106 / ResNo.3)  Re[2]: 表番号の謎
□投稿者/ 桐太郎 -(2024/02/04(Sun) 19:59:52)
    No14104に返信(ONnojiさんの記事)

    パソコンが手元にないなか、ご返信ありがとうございます。
    "販売.TBX""売上.TBX"とも、
    [バックアップをとる]はオンになっていました。

    > 辞書順で並べ替え替えをすると、何故か表がダーティになってしまったと記憶しています。
    ダーティの意味がわからずに調べました。
    辞書順の並び替えは今回していませんでしたが、
    覚えておきたいと思います。

引用返信 [メール受信/OFF] 削除キー/
■14107 / ResNo.4)  Re[2]: 表番号の謎
□投稿者/ 桐太郎 -(2024/02/04(Sun) 20:39:10)
    No14105に返信(悲しげさんの記事)

    ご返信ありがとうございます。
    表番号が自動で割り当ての内容、なんとなく理解できたと思います。

    変数を使用して、表番号を取得する例も理解できたと思います。

    表をフォームで表示することについては、
    表でほとんどやりたいことが足りてしまっており、
    まだ使用したことがないに等しいです。
    (この掲示板で紹介されていたONnojiさんのページの入門講座や
    AKomeさんのページの入門講座は真似して作成してみましたが、
    どのように学習していこうかと思案中です。)


引用返信 [メール受信/OFF] 削除キー/
■14108 / ResNo.5)  Re[3]: 表番号の謎
□投稿者/ ONnoji -(2024/02/04(Sun) 21:10:13)
    > "販売.TBX""売上.TBX"とも、
    > [バックアップをとる]はオンになっていました。

    オフにするだけでメッセージは表示しなくなると思いますよ。

    p.s.
    毎回、コマンドで条件名を作成しても、ダーティになると思いますよ。

引用返信 [メール受信/OFF] 削除キー/
■14109 / ResNo.6)  Re[4]: 表番号の謎
□投稿者/ 桐太郎 -(2024/02/04(Sun) 22:46:59)
    No14108に返信(ONnojiさんの記事)

    [バックアップをとる]をオフにすることにより、
    「更新されています。保存しますか」
    というメッセージが表示されなくなるというのは
    理解しました。

    自分の最初の書き込みの内容が悪くて申し訳ないですが、
    売上.TBXを編集して閉じる前に、
    「更新されています。保存しますか」は
    表示させたいです。

    その後自分でも全部試したところ、表番号32以外だったら
    (すべて試したわけではないですが、表番号2、3、33とか)
    「更新されています。保存しますか」は表示されました。
    また、表悲しげさんから書き込みがあった番号を指定せずに、
    内容で表番号を取得すれば解決しそうなので、
    それで対応したいと思います。



引用返信 [メール受信/OFF] 削除キー/
■14117 / ResNo.7)  Re[3]: 表番号の謎
□投稿者/ ONnoji -(2024/02/08(Thu) 16:21:27)
    2024/02/10(Sat) 14:56:08 編集(投稿者)
    2024/02/09(Fri) 11:57:43 編集(投稿者)
    2024/02/08(Thu) 17:10:18 編集(投稿者)

    当方旅行中だった為、PCが使えずスマホで回答した次第です。大変でした(^^ゞ

    ようやく今日になって、PCでメニュー.kexを拝見しました。

    名札 メイン


    手続き定義開始 "販売から売上へデータ移行クリック"()
     表 "販売.TBX", 表番号=1
     表 "売上.TBX", 表番号=32
     ウィンドウ作成 表
     ジャンプ 行番号= 終端
     読み込み 表,"販売.TBX"
     終了 表 1
    手続き定義終了

    表番号=1、表番号=32のように表番号を指定するのは、DOS桐の一括処理を思い起こします。

    ひょっとして、DOS桐や桐ver.7の一括処理を解説した書籍を参考書にしていますか???
           ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    プログラムの書き方は自由ですから、これという決まりはありません。

    しかし、表番号を逐一指定するのは、非常に不便なので、(ヘルプに例があるかもしれませんが・・・(^^ゞ)

    表番号を使用する場合には、悲しげさんが提示した #is表 の値を変数に代入する方法をおススメします。

    > 表をフォームで表示することについては、
    > 表でほとんどやりたいことが足りてしまっており、
    > まだ使用したことがないに等しいです。
    > (この掲示板で紹介されていたONnojiさんのページの入門講座や
    > AKomeさんのページの入門講座は真似して作成してみましたが、
    > どのように学習していこうかと思案中です。)

    もう一度、プログラムの書き方は自由ですから、これという決まりはありません。

    なので100人がプログラムを書けば、100通りのプログラムが出来上がります。

    そんなファジーなプログラムですが、

    この場で、私(ONnoji)なりの方法をご紹介するのでご参考にしてください。

    単にイベント処理と言っても色々なパターンがあります。

    一括処理のように[ウィンドウ作成]コマンドで表ウィンドウを表示するのもアリでしょう。

    しかし、[コマンドボタンの機能名:開く]で表ウィンドウを表示する方が、[フォーム+イベント]的だと思いますよ。

      7.3 レガシーなアプローチ|フォームアプリケーション教書 第1部
      http://silicon7565.html.xdomain.jp/guide/guide_Part1.htm#section7-3

    拙作の「新 フォームアプリケーション入門 §1・§2」をご覧いただいたそうですが、

    拙作の入門講座は、NULLフォームを使用した[ダイアログボックスの作り方]を紹介したものです。

    ちなみに[ダイアログボックスの作り方]を紹介した講座は珍しいハズですよ。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・

    ※[OK][キャンセル][はい][いいえ]等のボタンを付ければ立派なダイアログボックスになりますが、
    ※ 呼び出し元のフォームがありませんので、[閉じる]ボタンを配置している次第です。
      ・・・・・・・・・・・・・・・・・・

    これは、応用範囲が広いので[変数を編集する形式]のダイアログボックスを題材にしたと言うわけです。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    しかし、例えば[住所録フォーム]のようなものであれば、誰でも簡単に作れますよね。

    なので、誰でも簡単に作れるフォームは入門講座の題材にしていないのです。

    まとめると、[住所録フォーム]のような編集対象表を持つフォームと、

    ダイアログボックスのようなNULLフォームでは根本的に違いがあるということです。

    また、昔ながらのメニューフォーム(これはランチャーと見做すのが適当ですが)、NULLフォームで作ることが出来ますね。

    などなど、キリがありませんので、(^^ゞ

    [フォーム+イベント処理]によるアプリケーションに関しては、以下の拙作webページがありますので、ご参考にしてください。

      フォームアプリケーション教書 第1部
      http://silicon7565.html.xdomain.jp/guide/guide_Part1.htm

      フォームアプリケーション教書 第2部
      http://silicon7565.html.xdomain.jp/guide/guide_Part2.htm

    なお、当方は表ウィンドウの代用とする[編集対象表があるフォーム]の場合には拙作フレームワークで運用しています。
                      ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    これはあらかじめ完成済みのフォームです。

    ヘッダ部の不要なオブジェクトはワークスペースへポイッ!でOKですし、

    追加したいコマンドボタンは、ヘッダ部やフッタ部にペトッ!と張り付けるだけです。

    必要ならば、[コマンドボタンの機能名:手続き実行]で呼び出す一般手続きも作れます。

    つまり、当方が行き着いた結果は、表ウィンドウの代用ならば、イチから作る必要無しというアプローチです。
                    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    表ウィンドウの代用なので、列固定も項目スクロールも可能です。

    項目の幅もマウスドラッグで自由自在に変更出来て、項目の表示/非表示も設定できます。

    表の項目名を変更しても、何もしなくても自動的にフォームの項目名は変更されます。

    つまり、必要が無ければ何もしなくてもOKなんです。

    なので、生産性は非常に高くなりましたよ。(^^)ok

    p.s.


    × 手続き定義開始 "販売から売上へデータ移行クリック"()

    〇 手続き定義開始 販売から売上へデータ移行クリック() ← 手続き名に引用符( " )は不要です。


    【転載】桐 - ヘルプ|手続き定義開始

     また、JIS2D21 〜2D7F までの文字と、つぎの記号を含めてはいけません。
       ,.:;?!""^"_|/~()[]{}+-*=<>\$%#&@
       ,.:;?!’”^|_/〜()[]{}
       +−±×÷=≠<>≦≧¥$%#&*@



引用返信 [メール受信/OFF] 削除キー/
■14118 / ResNo.8)  Re[1]: 表番号の謎
□投稿者/ 通りすがり -(2024/02/08(Thu) 17:02:07)
    これは、バグですね、色々と影響を及ぼしそうです
    管理工学研究所へ報告して頂いた方が良しいかと思います

引用返信 [メール受信/OFF] 削除キー/
■14119 / ResNo.9)  Re[1]: 表番号の謎
□投稿者/ 尾形 -(2024/02/08(Thu) 17:23:08)
    どうも、こんにちは


    表 "販売.TBX"
    表 "売上.TBX"
    ウィンドウ作成 表
    ジャンプ 行番号= 終端
    読み込み 表,"販売.TBX"
    編集表 "販売.TBX"
    終了 表 編集対象表


    表番号変数を使わない書き方
    もありかもです

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

次のレス10件>

スレッド内ページ移動 / << 0 | 1 >>

このスレッドに書きこむ

Mode/  Pass/

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

- Child Tree -
- Antispam Version -