過去の桐井戸端BBS (桐ver.8)
7764 LAN上での表引きについて emure 2000/09/22-14:06
こんにちは.表引きについてお聞きします.

売上入力を桐でしようと思って,いま作成中です.
ほぼ出来上がって,いざLAN上で入力を開始すると
編集初期値式に書いてある表引き関数がひっかかって
”他のユーザーが使用中です”のエラーが出てしまいます.
具体的に説明しますと・・

売上入力.wfm(メイン;売上ヘッダ・サブ;売上明細)で入力をしています.
メインでは顧客台帳.tblを使って,サブでは商品台帳.tblを使って表引きをしています.
表引き関数は編集初期値式に書いてあります.
この表引き以外にイベントで検索フォーム(顧客台帳.tblが対照表です)を呼び出して顧客名などを入力しています.
入力された顧客名以外の顧客番号を表引きしているんですが
まず,一番簡単に解決できそうなのが検索フォームから入力する時に顧客番号も
一緒に持ってくれば良いのかな?と思います.
それから,今までの書きこみを見ると”イベントファイルのメイン部分に問題の表を共有更新モードで先に開くと解決する”と
かいてあったので書いてみましたが変わりません.
多重化のチェックボックスをオンにしてみましたが,そうすると検索フォームでEnterを押しても値が代入されなくなってしまいます.
ファイルパレットで様子を見てみると,売上ヘッダと売上明細は共有で開かれていますが
顧客台帳と商品台帳は専有で開かれています.
どうすれば,全ての表を共有更新で開く事ができるのでしょうか?ちなみに入力の都合上参照モードは使えません.

多遊さんのところなどにも行かせて頂いて,色々な書きこみを読みましたが
表引きの表が専有参照で開かれるのか,メインの表の開き方を踏襲するのか.
なぜ,参照整合性で関連付けされていると(内部で)一度に全部開いてしまうのか.共有と多重化の違い.等,
色々な疑問が沸いてきて混乱しています.
マニュアルの付録部分も読みましたがわかりませんでした.
どなたか教えてください.よろしくお願い致します.

7771 Re:LAN上での表引きについて 野良犬 2000/09/24-12:06
記事番号7764へのコメント
こんにちは、野良犬です。

emureさんは No.7764「LAN上での表引きについて」で書きました。
>それから,今までの書きこみを見ると”イベントファイルのメイン部分に問題の表
>を共有更新モードで先に開くと解決する”とかいてあったので書いてみましたが

これは、編集対象の表をひらくのではなく、表引き表を開くのが正解です。
そのままでは専有で開かれてしまう表引き表を、先に共有参照などのモードで開いておくことで
他のユーザーからも利用できるようになります。
7779 Re:LAN上での表引きについて emure 2000/09/25-10:23
記事番号7771へのコメント
野良犬さん,こんにちは.
お返事ありがとうございます.土日は出社していなかったので
レスが遅くなってしまって済みません.
ご指摘されたとおり表引き表を共有参照モードで開いています.
でも,イベントのなかでフォーム呼び出しを行っているのですが
そのイベントになると”その表はすでに開かれています”みたいな
エラーメッセージが出てしまうのです.
問題はフォーム呼び出しのイベントのほうにあるのでしょうか??

7781 Re:LAN上での表引きについて 悲しげ 2000/09/25-11:14
記事番号7779へのコメント
LANや共有参照モードのことは実はよく知らないんで外している可能性大ですけど

>でも,イベントのなかでフォーム呼び出しを行っているのですが
>そのイベントになると”その表はすでに開かれています”みたいな
>エラーメッセージが出てしまうのです.

と云うことであれば、フォームの属性において、
・編集対象表タブ
・許可作業牡丹
この中で「多重化」にチェックを入れているでしょうか?
7782 Re:LAN上での表引きについて emure 2000/09/25-12:03
記事番号7781へのコメント
悲しげさん,こんにちは.
お返事ありがとうございます.
ご指摘のとおり多重化のチェックボックスをオンにしたのですが,
多重化をすると呼び出したフォームからデータを持ってこれなくなるのですが
(Enterを押しても変数に代入されない)・・・なぜなんでしょうか?
7783 Re:LAN上での表引きについて bonito 2000/09/25-14:08
記事番号7782へのコメント
僭越ながら、とりあえず簡単にまとめると
1.表引き元表(ここでは**台帳.tbl)は事前に共有更新で
 開いておく(共有参照でもいいがこの場合は更新の可能性
 ありと見て==>2で)
2.フォーム呼び出しの**台帳.wfmの定義で多重化をONにする

emureさん、これで駄目ですか?

ps.
多重化で開かれた表は、一般的な表の状態(絞り込みや並べ替え)についてはスッピンな状態ですが、
オープンモード(共有や更新)は、元の表の状態を引き継ぐ仕様のようです。
例えばWFMの定義で表の更新を"しない"とした元フォームから(定義上では)表の更新をするとした、
同一TBL多重化フォームをフォーム呼び出し等で開いた場合、この多重化フォームでの表の更新は出来ません。
逆の場合もあります…すなわち元フォームが、更新="する"の場合には呼び出した多重化フォームでいくら、
更新="しない"と定義してあっても無意味だと言う事です。(あぶない!…かも)

7785 Re:LAN上での表引きについて emure 2000/09/25-14:55
記事番号7783へのコメント
bonitoさん,こんにちは.
お返事ありがとうございます.
おっしゃるように多重化のチェックボックスをオンにしてやってみたのですが,
呼び出したフォームでEnterを押してもデータが確定されなくなってしまうのです.
検索フォームを呼び出しているので,確定して変数に代入できないと
元のフォームにデータを持ってこれなくなってしまうのです・・
どうしたものでしょう??
7820 Re:LAN上での表引きについて bonito 2000/09/27-18:23
記事番号7785へのコメント
emureさん、2日間留守にしました…がレスがつきませんね。

#7782
>ご指摘のとおり多重化のチェックボックスをオンに
>したのですが,多重化をすると呼び出したフォームから
>データを持ってこれなくなるのですが(Enterを押しても変数に
>代入されない)・・・なぜなんでしょうか?
ここんとこがちょっと見えないし(想像できない)、疑問なんですが、
多重化する前は(単独なら)、お望みの結果が得られていたのですか?

だとすると私のPSでは参考になりませんか?
でもちょっと表現に難がありましたね。
>オープンモード(共有や更新)は、元の表の状態を
>引き継ぐ仕様のようです。
これではかえって解りにくいですね。(多重化とは)既にオープンしている表を(裸で)そのまま使うのですから、
当然オープンされた時の状態(共有や更新のモード)は後からでは変えようがない…という事です。

7870 Re:LAN上での表引きについて emure 2000/09/29-09:13
記事番号7820へのコメント
bonitoさん,おはようございます.
私もレスが遅くなってしまいました.済みません.

>ここんとこがちょっと見えないし(想像できない)、疑問なんですが、
>多重化する前は(単独なら)、お望みの結果が得られていたのですか?

はい.多重化する前にはきちんとデータが確定されていました.
・・・しかし,二人以上で同じ表を対象にイベントでフォーム呼び出しをすると
”他のユーザーが使用中です”になってしまいます.
そこで多重化をオンにすると二人で開けるがデータが確定できなくなる・・という次第です.
何度か試してみたのですが,確実に多重化のオン・オフが関係しています.

初心者なので言葉足らずで状況説明がうまくできなくて済みません.
しばらくレスが無かったので途方に暮れていましたが
bonitoさんがレスを下さって嬉しかったです.ありがとうございます.

戻る