過去の桐井戸端BBS (桐ver.8)
4404 フォームのコマンドで表を保存継続したい hiro 2000/02/02-13:00
こんにちは。桐Ver8 SP3を使っています。

伝票形式でグループ化されたデータを、一旦保存し、
次のグループを続けてデータ入力したいと思います。

ですが、表の保存して継続するようなコマンドが無いように思います。
何か代替となるコマンドが、ありますでしょうか。

どなたか、御教授を宜しくお願い致します。
4405 Re:表の保存継続について教えてください 宮城 2000/02/02-13:25
記事番号4404へのコメント
単一コマンドで追求する必要がありますか?

閉じてまた開けばいいだけのことです。

4406 Re:表の保存継続について教えてください ケント 2000/02/02-17:07
記事番号4404へのコメント
hiroさん こんにちは。
私も同じ様な使い方をしていて、[上書き保存]ツールボタンがアクティブに
ならないので疑問に思っていたのですが、どうも編集対象表に主キーが設定して
あると、編集対象表を直接編集しているみたいです。
外れていたらごめんなさい。m(__)m
もしそうだとすると、宮城さんのコメント通りだと思います。

4407 補足 ケント 2000/02/02-17:25
記事番号4406へのコメント
もし[上書き保存]ツールボタンがアクティブになったとしたら、コマンドボタン
を配置し、"上書き保存"機能を設定すれば大丈夫かと思います。
4413 Re:表の保存継続について教えてください hiro 2000/02/03-09:29
記事番号4406へのコメント
宮城さん、ケントさん コメント、有り難うございます。

質問の内容に言葉足らずのところがありましたので追加します。

伝票形式のようなグループ化された表を、一旦保存して、再び開くと、
どうしても最初のグループに位置づけられます。

これを、保存前に、メソッド呼び出し グループソース値取得などで
グループ値を取得して、再度表を開いた後に、該当のグループを表示するように
すれば良いと思います。
ただ、これら一連の操作をグループの切り替え毎にやりたくないので、
COMMIT命令のようなものがあったらいいなぁ〜と思ったのです。

皆さんは、この様な場合、どうしておられますでしょうか?
教えてください。

4416 Re:表の保存継続について教えてください 宮城 2000/02/03-13:29
記事番号4413へのコメント
>これを、保存前に、メソッド呼び出し グループソース値取得などで
>グループ値を取得して、再度表を開いた後に、該当のグループを表示するように
>すれば良いと思います。
>ただ、これら一連の操作をグループの切り替え毎にやりたくないので、

残念ながらこれしかないのではないでしょうか。「行マーク」も効かない
ようですし・・・。

(ぶっきらぼうな書き込みで失礼しました。)

4420 Re:表の保存継続について教えてください ケント 2000/02/03-18:58
記事番号4413へのコメント
hiroさん こんにちは
#4406でコメントしましたが、編集対象表に主キーが設定されているとデータの編集
毎に編集対象表を書き換えているのではないでしょうか。そうだとするとデータの保存
は必要ないように思いますが、如何でしょうか。
主キーを設定する項目がないときは適当にカウンター型の項目を作成し、その項目に
主キーを設定すれば良いと思います。
確認etcで保存を意識的に実行したいとなると、やっぱしイベントかな〜。
4422 見当違い? ケント 2000/02/03-19:17
記事番号4420へのコメント
>伝票形式でグループ化されたデータを、一旦保存し、
>次のグループを続けてデータ入力したいと思います
と言うことで、コメントしていたのですが、もしかして"保存終了"して他の作業をしてその後
伝票を開いた時に直前に編集していたグループを..というのであれば、まったく見当違いの
コメントですね。
先に謝っておきます。m(__)m
4432 編集途中での表の保存継続 佐田 守弘 2000/02/04-00:13
記事番号4413へのコメント
hiroさん
伝票形式フォームなどでの編集中に保存継続するには、
hiroさん自身が書かれている様に、まず現在のグループ値と番号を取得しておいて
、後で戻せる準備をしておきます。
保存継続は、コマンドボタンを作っておきこれをメソッド呼び出しコマンドで実行
する方法が良いでしょう。
これらをイベント処理で行ってしまえば特に面倒な事はないと思うのですが。
ただし、保存継続する前にグループ選択状態の解除が必要なのですが、フォームを
表示している限りこの解除ができないらしく、「グループ選択状態を解除して・・
・」の様な確認メッセージが出てしまいます。

COMMIT命令
このコマンドは知りませんが、桐の一括処理には「トランザクション コミット」
というコマンドがありますね。でも御質問の目的とは違うと思います。

佐田守弘(KS-00119)
4433 バックアップなしの状態の表の保存継続 佐田 守弘 2000/02/04-00:13
記事番号4420へのコメント
ケントさんが書かれている様に、表に主キーを設定したり参照整合性を設定すると、表の
バックアップありの設定が無効になり、バックアップなしの状態で運用されます。これは
、共有更新の場合でも同じです。

バックアップなしの場合には、ディスク上のファイルに逐次書き込みが行われるので、「
途中での保存継続が要らない」様に見えますが、大きな落とし穴があります。

確かに、桐のデータベースエンジンは、バックアップなしの表に対しては、追加や更新が
ある度に、ディスク上の表に対して、直接のデータ更新を行っています。
しかしながら、桐のシステムは数ページのページキャッシュを持っていて、データベース
エンジンから書き替え命令が出たとしても、キャッシュ上で受け止めるだけで、OSに対し
て実際に書き替え命令が出るかどうかは分かりません。
また、OSもキャッシュ機能を持っていますから、書き替え命令が出たからといって、本当
にディスク上に直ちに書き替えを行うかも、分かりません。
間違いなく書き替えが行われるのは、表ファイルが閉じた時です。

そういう意味では、私の場合には、確実性を期する場合には、途中で表をいったん閉じて
から、開き直すといった事を行っています。多分にまだるっこしい事になるのですが、デ
ータの安全性との天秤ですね。

佐田守弘(KS-00119)
4436 なるほど! ケント 2000/02/04-08:21
記事番号4433へのコメント
佐田さん ありがとうございます。
納得しました。データを扱うと言う重要性から考えると必要な操作ですね。いままではそこまで
考えたことが有りませんでした。これからは意識するようにします。
又、いつもいつも丁寧な解説コメントありがとうございます。
4467 Re:編集途中での表の保存継続 hiro 2000/02/05-09:03
記事番号4432へのコメント
みなさん、コメントありがとうございます。

実は、伝票形式の入力を、朝から夕方まで起動してるんですが、
たまたま停電になって、入力されていたデータが保存されていないという
現象があったんです。
それじゃぁ、グループ切替をするときに
それまでのデータの保証をしようという事にしたのですが、、、、。

なかなか、保存して早くグループ切り替えができるものがなくて、
悩んでいました。

やはり、運用する側に立ったシステムを作りたいので、
あえて、こういった質問をしました。

皆さん、有り難うございました。
4468 Re:編集途中での表の保存継続 佐田 守弘 2000/02/05-10:03
記事番号4467へのコメント
hiroさん

>たまたま停電になって、入力されていたデータが保存されていないという
>現象があったんです。
入力途中での電源トラブルで、データが失われてしまうと、ガックリ来ますね
。「保存しておけばよかった」と思ってももうあとの祭りです。

「UPSを装備しておくのが常識!」とは言われますけど、個人ユーザーや小規
模のオフィスではUPSを装備しているとは限らないですからね。
「万一に備えてこまめに保存する」私は今までこの方法で被害を最小限に食い
止めて来ました。

さて、hiroさんの件ですが、グループ切り換えとは、具体的にどの様なグルー
プの切り換えで、どの様にして切り換えているのかが分からないのですが、仮
に伝票であれば費目の切り換え、あるいは学校の成績であればクラスの切り換
えと言った様な切り換えかと思います。
そして、切り換えの時にちょっとした息抜きがあるのではないでしょうか。そ
こで、切り換えをする際に、それまでのデータを保存継続したら、というのは
いかがでしょうか。

切り換えの方法ですが、私のHPに掲載してある例題の様に、コマンドボタンで
切り換えているのだとしたら、このコマンドボタンで実行させる手続きの中で
、保存する方法はどうでしょうか。

保存継続の方法は、前にも述べました通り、[保存]のボタンを作っておき、
メソッド呼び出しコマンドでこのボタンを実行させるのが良いかと思います。

佐田守弘(KS-00119)

戻る