過去の桐井戸端BBS (桐ver.9)
29037 多重化と共有の違いを教えてください。 マーズ 2005/02/13-16:12
初めてです。
すみませんがお願いします。
わかるような分からない状態でしたが、
下記を克服しようとやっているうち
わけわからなくなってしまいました。
多重化と共有の違いを教えてください。

それと、
桐ファイルを全部、共有更新で使用しているのですが、
表引きの時索引が使用できないので、整列後書き出して
元データを削除して読み込んでます。(すぐ必要なので)
その時、他ユーザーが同ファイルを使用していると
ファイルが変なことになってしまいます。
大体壊れます。
他ユーザーにファイルが使用されているかどうかを
調べるのは#ファイル使用でしょうか?
他ユーザーが使用してなければ書き出し、読み込みをして他ユーザーが使用していればしないような
イベントまたは機能としてどのように記入したら良いでしょうか。?
(フォームの機能で閉じてしまうとその後が実行されませんので困ってます)
よろしくお願いします。

29038 Re:多重化と共有 うにん 2005/02/14-15:05
記事番号29037へのコメント

>多重化と共有の違いを教えてください。

多重化は共有とは関係なく1つの桐で同じファイルを複数回開いた状態になる仕組みですよね。

>表引きの時索引が使用できないので、整列後書き出して
>元データを削除して読み込んでます。(すぐ必要なので)

これ何を言ってるのかわかりません。索引を使用できるように
共有してない表を表引き用にしておいて、共有の表から全データを
読み込むというならわかりますが。

>その時、他ユーザーが同ファイルを使用していると
>ファイルが変なことになってしまいます。大体壊れます。

そうなら、読み込むだけだから他ユーザが使用していても関係ないはずですし。。

データを削除ってファイルを削除しているのではないですよね?

単に共有設定を間違えてるような気がしますが。

29048 Re:多重化と共有 マーズ 2005/02/14-22:59
記事番号29038へのコメント
RESありがとうございます。
おっしゃられていること分かります。
自分の環境を説明します。
A.TBL(wfm) (仕入れ表)  
B.TBL(wfm) (商品名マスター)の2ファイルを
Sサーバー(自分のとこではパソコンではなくネットワークディスク)
に置いてます。A.TBLの商品名項目にB.TBLを表引きする設定をしてます。
AもBも共有更新設定です。(なお、#表引きも桐環境設定で共有からにしてます)
  
****他ユーザーはAもBも開いて無い時****ユーザー1がひとりの時
ユーザー1がクライアントパソコン1でAを開いて入力する前に商品名が無いので
B.wfmを開いて商品名をデータ入力します。完了後閉じてよみ順整列して書き出して
元データを削除して読み込みます。(機能で閉じる前に記述またはイベントで)
このときB.TBLは標準でよみ順状態になってます。
次にAを開いて入力します。商品項目で表引き表B.TBLは表引きウインドウで
よみ順整列された状態(標準状態)で表示されます。
(なぜ書き出して削除して読み込む のは 共有では入力順でしか表引きウインドウ内のデータが表示されないからです。
表引きウインドウ内でデータの並び替えをすれば別に問題なく並び替えられますが、
入力する普通の人はさっき入力した商品名が並んでないって怒ります(涙))
****問題なのは他ユーザー2がBを編集しているとき****
ユーザー2がBを編集中の時、ユーザー1もBを編集。編集自体は問題ないです。
ちなみに、書き出して削除して読み込 さえしなければ問題ないです。
ユーザー1またはユーザー2 例えばユーザー1が早く編集を終わった時、
上記に記したようなコマンドボタンで書き出し削除読み込み後終了してAにフォームが切り替わります。
このときユーザー2は編集中でしたが、このときおかしくなります。
まあそうかなとも思いますが。
そこで、同じファイルを同時に複数ユーザーで使用している  たとえばユーザー1がBを使用しているとき
ユーザー2が同じファイルBを使用してますよっていうことが分かりたいんですがどのようにしたら良いでしょうか。?
尚、ユーザー1およびユーザー2が同時にAに入力してもうまく行ってます。
問題なのは表引き用ファイルを標準でよみ順整列状態にするために
書き出して削除して読み込んでることだと思うのですが、
いい方法はありませんでしょうか。
長々とすみません。
よろしくお願いします。


29049 Re:多重化と共有 うにん 2005/02/15-11:21
記事番号29048へのコメント

>****問題なのは他ユーザー2がBを編集しているとき****
>ユーザー2がBを編集中の時、ユーザー1もBを編集。編集自体は問題ないです。
>ちなみに、書き出して削除して読み込 さえしなければ問題ないです。
>ユーザー1またはユーザー2 例えばユーザー1が早く編集を終わった時、上記に記し
>たようなコマンドボタンで書き出し削除読み込み後終了してAにフォームが切り替
>わります。
>このときユーザー2は編集中でしたが、このときおかしくなります。

実験したことないのですが、共有がちゃんと設定されていれば
ユーザー2が編集中の場合、ユーザー1が「削除読み込み」できないはずです。
ヘルプの「更新の一時的な禁止」を見てください。

あるいは、サーバが桐の対応品でないので何かうまくいかない点があるのかも?

>問題なのは表引き用ファイルを標準でよみ順整列状態にするために
>書き出して削除して読み込んでることだと思うのですが、
>いい方法はありませんでしょうか。

B.TBLの複製をローカルディスクに置いて、A.TBLではその表を表引きに
使うようにすれば、索引が使えるし問題も起きないのでは?
Bは編集するだけで、ローカルの共有していない表を全行削除してBから読み込み。

29058 Re:多重化と共有 しぼうかん 2005/02/15-19:32
記事番号29048へのコメント
マーズさん、こんばんは.

B.tblの全削除と読み込み処理は共有設定の表引きデータを
整列表示させる為ですよね?

それならB.TBLのデータを表示&取り込みするのに"表"の"表引き"機能を
使わずに"フォーム呼び出しのコマンド"と"フォーム開始イベント等で
並べ替えをさせる表引き用のフォーム"を作って表引き機能の代替えを
させてはどうでしょうか?

読解力不足なので全く外していたらすいません。
29063 皆様 ありがとうございました。 マーズ 2005/02/16-00:40
記事番号29048へのコメント
RESありがとうございます。

>実験したことないのですが、共有がちゃんと設定されていれば
>ユーザー2が編集中の場合、ユーザー1が「削除読み込み」できないはずです。
>ヘルプの「更新の一時的な禁止」を見てください。

あツ!と思って確認しましたところ、確かに他ユーザー使用中と言うことで
処理中断してました。おかしいなあと思っていろいろ試したところ、
低速CPUパソコンが書き出して削除して読み込んでいる最中に
高速CPUパソコンがBを開いて書き出して削除して読み込んでを何回か行うと
削除することがあるみたいです。おそらく共有情報ファイルがおかしくなったのではと思いますが、
これ以上のことは自分には無理なので、
>Bは編集するだけで、ローカルの共有していない表を全行削除してBから読み込み。
で、やり直してみることにします。
ありがとうございました。

**********************************

RESありがとうございます。

>並べ替えをさせる表引き用のフォーム"を作って表引き機能の代替えを

参考させていただきました。
ただ、商品名項目にカーソルが来た時に商品名フォームを起動するというイベントなりが表引きの設定より煩雑そうで、
二の足を踏みそうです。
、、踏んでます。(^^)
すみません。

*************************************
P.S.未練を一言(^^)
表引きウインドウ内でデータを昇順 降順に整列できるのに表引きウインドウポップアップ時に、
ただ単に昇順状態で表示または降順状態で表示にできるようになればいいのになあ

戻る