過去の桐井戸端BBS (桐ver.8)
17045 補集合で絞り込みしたもので表引きをしたい A.SAKA 2002/08/20-22:07
初めまして。ごく最近このページを知りました。
桐Ver.8(SP6)をWindows2000(sp3)で使い始めました。
倉庫業みたいな事が最近会社で始まりました。
そこで、ある製品の、品名コード、品名、製造番号を管理する事になりました。
品名は50種類位あり、その品名に伴い品名コードがあります。
そして、製造番号を管理しなくてはなりません。
入庫と出庫を管理する為、入庫時には、品名コード、品名、製造番号を入力し、
出庫時には、その製造番号に沿って入力します。
そこで、質問なのですが、入庫の製造番号と出庫の製造番号は当然1対1になるので、
製造番号で重複絞り込みを行い、補集合をすると、在庫されている製造番号が出ますよね。
この在庫されている製造番号を表引きしたいのです。
どの様にすればよいのでしょうか?
17049 Re:補集合で表引きしたい pokopon 2002/08/21-10:28
記事番号17045へのコメント
A.SAKAさん こんにちは

なかなかリプライが付きませんが、何をどうしたいのかが???です。
もう少し、具体的な例やDBの構成を記載されてはどうでしょう。

>製造番号を管理しなくてはなりません。
>入庫の製造番号と出庫の製造番号は当然
>1対1になるので、製造番号で重複絞り込みを行い、補集合をする
>と、在庫されている製造番号が出ますよね。
>この在庫されている製造番号を表引きしたいのです。

「製造番号」ってユニークな値ですよね。
それを「重複絞り込み」とはどういう意味?
複数の同じ番号があるのなら、どうやって管理するんでしょう?
その補集合が「在庫されている製造番号」?
その製造番号を(に)何の値を(元にして)「表引き」したいのか?

など、「謎」がいっぱい。
(単に私が理解していないだけかもしれませんけど)
17053 Re:補集合で表引きしたい 悲しげ 2002/08/21-11:43
記事番号17045へのコメント
どもっ、A.SAKAさん
絞り込みの詳細はともかく、これは要するに表定義時における項目
属性/表引きタブで設定する表引き条件のことだと思います。
で、表引き対象表を何らかの形で絞り込んだ状態のままを表引きしたい、と。

とすれば、上記タブから「編集表を使用する(L)」にチェックを入れて試してみてはいかがでしょう?
この時、表引き対象表(編集表)は、別途絞込みしてるんですよね?

※関数(項目計算式)の#表引きだと(…,…,…,…,…,…,0)のように
最後のパラメータをゼロにすることになろうかと思いますが、
趣旨的には当てはまらないような。

17055 Re:補集合で表引きしたい A.SAKA 2002/08/21-13:51
記事番号17049へのコメント
pokoponさん、こんにちは

>「製造番号」ってユニークな値ですよね。それを「重複絞り込み」とはどういう意
>味? 複数の同じ番号があるのなら、どうやって管理するんでしょう?
>その補集合が「在庫されている製造番号」?
>その製造番号を(に)何の値を(元にして)「表引き」したいのか?

あ、説明が不十分でしたね。済みません。
製造番号自体はユニークな値です。

実は、表自体は未だ制作中なので、今後構成が変わるかもしれませんが、
一応こんな感じで作ってます。

A表は

品名コード  品名  製造番号 入庫 出庫 日付
111-1111  abc abc-001  1           8/20
111-1122  def def-001  1            8/20
111-1133  ghi ghi-001  1            8/20
111-1111  abc abc-002  1            8/20
111-1111  abc abc-003  1            8/20
111-1122  def def-002  1            8/20
111-1111  abc abc-004  1           8/20
111-1111  abc abc-001  1           8/21 ※この2行は
111-1111  abc abc-002  1           8/21  併合後の結果です

B表は出庫のデータのみとしています。
(B表に入力後、A表に併合しようと思っています)

品名コード  品名  製造番号 入庫 出庫 日付
111-1111 abc abc-001 1              8/21
111-1111 abc abc-002 1              8/21

C表は品名コードと品名のみの表で

品名コード  品名  
111-1111 abc
111-1122 def
111-1133 ghi

この中で、B表に出庫の入力しようとする時、品名コードと品名は、
C表を表引きすれば何とかなるのですが、製造番号を入力する時、
現在在庫している製造番号を品名コードに沿って表示したいのです。

上記のA表を製造番号で重複絞り込みし、補集合とすれば、
品名コード  品名  製造番号 入庫 出庫 日付
111-1122 def def-001 1             8/20
111-1133 ghi ghi-001 1             8/20
111-1111 abc abc-003 1             8/20
111-1122 def def-002 1             8/20
111-1111 abc abc-004 1             8/20
となるところまでは解るのですが、この状態をさらに、B表に入力された
品名コードで絞り込み、111-1111ならば、
品名コード  品名  製造番号 入庫 出庫 日付
111-1111 abc abc-003 1 8/20
111-1111 abc abc-004 1 8/20
の状態にして、製造番号を選択して入力したいのです。

お解り頂けましたでしょうか?

17056 Re:補集合で表引きしたい A.SAKA 2002/08/21-13:56
記事番号17053へのコメント
悲しげさん、こんにちは。

>絞り込みの詳細はともかく、これは要するに表定義時における項目
>属性/表引きタブで設定する表引き条件のことだと思います。
>で、表引き対象表を何らかの形で絞り込んだ状態のままを表引きし
>たい、と。

そうなんです。詳しくは別に書きましたので、よろしく。

>とすれば、上記タブから「編集表を使用する(L)」にチェックを入れ
>て試してみてはいかがでしょう?
>この時、表引き対象表(編集表)は、別途絞込みしてるんですよね?

??済みません。桐Ver.8(SP6)では表引きする表も開いておく必要があるのでしょうか?
(やり始めたばかりで、よく解ってなくて済みません)


17057 Re:補集合で表引きしたい natsu 2002/08/21-15:49
記事番号17055へのコメント
「補集合で表引きしたい」の回答にはなりませんが・・・

[入庫][出庫]の状態をそれぞれの項目に持っていますが、
これを[入庫日][出庫日]にしてA表のみで作業をしてみては?

出庫があれば、A表に出庫日を入力して
[出庫日]が未入力でないものを絞り込み、B表へ追加で書き出し
その後、書き出したレコードを削除すればよいと思います

17058 Re:補集合で表引きしたい A.SAKA 2002/08/21-17:01
記事番号17055へのコメント
済みません。どうも半角スペースがうまく表示されないみたいなので、
_(アンダーバー)に書き直します。m(_ _)m

>実は、表自体は未だ制作中なので、今後構成が変わるかもしれませんが、一応
>こんな感じで作ってます。
>
>A表は
>
>品名コード  品名  製造番号 入庫 出庫 日付
>111-1111______abc_____abc-001____1__________8/20
>111-1122______def_____def-001____1__________8/20
>111-1133______ghi_____ghi-001____1__________8/20
>111-1111______abc_____abc-002____1__________8/20
>111-1111______abc_____abc-003____1__________8/20
>111-1122______def_____def-002____1__________8/20
>111-1111______abc_____abc-004____1__________8/20
>111-1111______abc_____abc-001___________1___8/21 ※この2行は
>111-1111______abc_____abc-002___________1___8/21  併合後の結果です
>
>B表は出庫のデータのみとしています。
>(B表に入力後、A表に併合しようと思っています)
>
>品名コード  品名  製造番号 入庫 出庫 日付
>111-1111______abc_____abc-001___________1___8/21
>111-1111______abc_____abc-002___________1___8/21

>C表は品名コードと品名のみの表で
>
>品名コード  品名  
>111-1111______abc
>111-1122______def
>111-1133______ghi
>
>この中で、B表に出庫の入力しようとする時、品名コードと品名は、
>C表を表引きすれば何とかなるのですが、製造番号を入力する時、
>現在在庫している製造番号を品名コードに沿って表示したいのです。
>
>上記のA表を製造番号で重複絞り込みし、補集合とすれば、

>品名コード  品名  製造番号 入庫 出庫 日付
>111-1122______def_____def-001____1__________8/20
>111-1133______ghi_____ghi-001____1__________8/20
>111-1111______abc_____abc-003____1__________8/20
>111-1122______def_____def-002____1__________8/20
>111-1111______abc_____abc-004____1__________8/20

>となるところまでは解るのですが、この状態をさらに、B表に入力された
>品名コードで絞り込み、111-1111ならば、

>品名コード  品名  製造番号 入庫 出庫 日付
>111-1111______abc_____abc-003____1__________8/20
>111-1111______abc_____abc-004____1__________8/20

>の状態にして、製造番号を選択して入力したいのです。

>お解り頂けましたでしょうか?


17059 Re:補集合で表引きしたい pokopon 2002/08/21-18:16
記事番号17057へのコメント
>[入庫][出庫]の状態をそれぞれの項目に持っていますが、
>これを[入庫日][出庫日]にしてA表のみで作業をしてみては?

賛成!! (^o^)丿


17060 Re:補集合で表引きしたい 悲しげ 2002/08/21-22:15
記事番号17056へのコメント
どもっ、A.SAKAさん
話が別方面に流れそうな気配がありますが、2点ほどコメントを返させていただきます。

#17056
>桐Ver.8(SP6)では表引きする表も開いておく必要が
>あるのでしょうか?

この点に関わる基本的な仕組みとしては、DOS桐もWin桐も同様だったような気がします。
違いとしては、確か次のような感じだったと記憶しています。(間違ってたらごめんなさい)
DOS桐では、表引き対象表を開かない状態であれば
表全体から表引きし、開いていればその状態(例えば選択状態とか)でもって
表引きされる。
と云うか、表引き対象表(編集表)が選択状態であれば、
否応なしにその状態でしか表引きできなかった。
Win桐では、表引き対象表(編集表)を開いた状態で
且つ絞り込み状態であっても、パラメータを指定することによって全体から表引きさせることもできる。
もちろん、DOS同様に絞り込んだ状態から引く指定もあり。
なお、表引き対象表を開かない状態の挙動はDOSと同じ。
これは、#表引き関数についても云えます。
ですから、以上を承知の上で、表引き対象表を閉じておいて使うやり方もあれば、
開いておいて(必要なら)絞込み状態にさせておいて使うやり方もある。
どちらを使うかはお好みで、ってことです。

ついでに#17058
>どうも半角スペースがうまく表示されないみたいなので、

多くのBBSでは仕様上、「連続する半角スペースは1個の半角スペースと見なす」ようです。
云い換えれば、連続しない(1個だけの)半角スペースはそのまんま1個の半角スペースとなるはずです。
だから
半角スペース×2個→全角スペース1個
半角スペース×3個→全角スペース1個+半角スペース×1個
半角スペース×4個→全角スペース2個
半角スペース×5個→全角スペース2個+半角スペース×1個
・・・・・・
のように「二進数」的な打ち込みをすれば、うまいこと表示されるのではないでしょうか?
さほど検証した訳ではないので、間違ってたらゴメン。

それとこれらが揃って見えるためには、見る側が、ブラウザで固定ピッチフォントを設定している場合に限られそうです。
プロポーショナルフォントだとどうやってもズレズレなるままにだと思います。
17061 Re:補集合で表引きしたい A.SAKA 2002/08/21-22:21
記事番号17059へのコメント
natsuさん、pokoponさん、コメント有り難う御座居ます。

>>[入庫][出庫]の状態をそれぞれの項目に持っていますが、
>>これを[入庫日][出庫日]にしてA表のみで作業をしてみては?
>賛成!! (^o^)丿

倉庫業みたいな事ですので、入庫の管理や出庫の管理を
元会社に報告しなくてはならず、データの削除は出来ないのです。
また、定期的に在庫データの報告などもせねばならず、ですから、
あのような形になりました。

フォームで入力しようと思っているのですが、サブフォームに
絞り込んだ表(私の前のレスの一番最後に書いてある事です)を
表示させる事は可能なのでしょうか?


17062 Re:補集合で表引きしたい A.SAKA 2002/08/21-22:35
記事番号17060へのコメント
悲しげさん、コメント有り難う御座居ます。

>この点に関わる基本的な仕組みとしては、DOS桐もWin桐も同様だっ
>たような気がします。違いとしては、確か次のような感じだったと
〜〜中略〜〜
>方もあれば、開いておいて(必要なら)絞込み状態にさせておいて使
>うやり方もある。どちらを使うかはお好みで、ってことです。

あ、なるほど。こういう使い方が出来るのですね。
となると、#17058の一番最後のような、入力した値を元に絞り込みを
させる事って、無理っぽい気がしてきました・・・・・・。
「同一値」での絞り込みが出来る事までは、やっと解ったのですが。

>ついでに#17058
〜〜中略〜〜
>ョナルフォントだとどうやってもズレズレなるままにだと思います。

こちらのフォローも有り難う御座居ます。m(_ _)m
BBSの書き込み自体は慣れているのですが、今回の表みたいな事を
書いたのは初めてでして・・・・。
今後の参考にさせて頂きます。m(_ _)m
17063 1つの表で管理 pokopon 2002/08/21-23:21
記事番号17061へのコメント
A.SAKA さん こんばんは

>実は、表自体は未だ制作中なので、今後構成が変わるかもしれませんが、一応
>こんな感じで作ってます。

会社のデータ管理状況(入力方法など)が分かりませんし、
規模(というか、扱う品目の件数)もわかりませんので、まとを外しているかもしれません。
また、話題とされている表引きのこととは異なり、「データ管理、DBの構成」に関わる方向になりますけど。(^_^;)

■A表(入庫表)とB表(出庫表)を分けて管理する理由は何でしょうか?
1.データの入力担当者が、入庫と出庫で別である。
2.複数のパソコン、複数名で同時に「わたわた」と入力する必要がある。
  当然、後で合わせて集計・処理する。
であれば、「さもありなん」なんですけど、
単に、
>入庫の管理や出庫の管理を元会社に報告しなくてはならず
>定期的に在庫データの報告などもせねばならず
が主たる目的で、データは1台のPCで(共有させれば、複数でも可能ですけど)
処理するのであれば、データの管理方法を次のようにしたらどうでしょうか?

1.「入庫」データ
新規にデータを「行追加」して登録する。この時、品目コードを入れれば、
表引きにより品名が自動入力される。入力初期値で入庫日付も入力される。

>品名コード 品名 製造番号 入庫日付 出庫 出庫日付
>111-1111  abc  abc-001  8/20
>111-1122  def  def-001  8/20
>111-1133  ghi  ghi-001  8/20

2.「出庫」データ
上記で作成したデータにおいて、品目コードをキーとして「絞り込み」。
この時、[出庫]が空欄のものと.and絞り込み。
この処理を「コマンドボタン」に仕込んでおく。このボタンをクリックして「出庫処理」に移る。
該当する製品番号の品物の[出庫]に「1」を入力(出庫の登録)。自動計算で、
[出庫日付]に日付の入力。フォームで作成するのであれば、[出庫]はチェックボタンで。

>品名コード 品名 製造番号 入庫日付 出庫 出庫日付
>111-1111  abc  abc-001  8/20
>111-1122  def  def-001  8/20
>111-1133  ghi  ghi-001  8/20  1   8/21
>111-1111  abc  abc-002  8/20
>111-1111  abc  abc-003  8/20  1   8/21
>111-1122  def  def-002  8/20
>111-1111  abc  abc-004  8/20

3.データの絞り込み
[出庫]=#Uで絞り込めば、そのまま「在庫品」となります。
[出庫]=1 で絞り込めば、「出庫済み」のデータとなります。
日付も絡めて絞り込ませれば、期間を絞って入庫と出庫の管理が可能です。
データの削除は不要です(どんどん扱った品目データが増えていきます)。
これらの処理を「コマンドボタン」に仕込んでおけば、「1クリック」で処理可能です。


普通は(これ以外の管理方法もあるでしょうけど、一つの例として)こういう
「1つの表ファイル」で管理可能な処理と思います。
そうすれば、データ構成も単純で、管理しやすいのでは?

おそらく(あくまで予想で)、製造番号が長〜くて複雑なため、出庫データの入力の際に
「品目コード」を入力し、「製品番号を表引きしたい」とお考えになったのでしょう。

「表引き」の解決にはなりませんけど(といっても悲しげさんがヒントを出されていますが)。

色々とご事情があるようですので、まとをはずしてっぽいですね。

17064 Re:補集合で表引きしたい 2002/08/22-00:23
記事番号17058へのコメント
こんにちは、文といいます。
いつまでも初心者状態のまま、最近会社の方も桐からアクセスに強制されつつあり、
なさけなく思っています。
外しているとは思いますが、

>>上記のA表を製造番号で重複絞り込みし、補集合とすれば、

とは、補集合をとらなくても、並べ方を反転(下から並べ替えて)
重複絞り込みと同じようになるのでは、・・・。
A表の索引条件に降順で並び替えて、重複禁止にしておき、表引き設定時に索引を利用し、
品名コードで表引きすれば、目的のあたりが表示されるのではないでしょうか。
但し、上下に他の品名コードが並ぶのと、製造番号が降順となりますが・・・。

やっぱり外してますか・・・。
17067 Re:1つの表で管理 A.SAKA 2002/08/22-17:35
記事番号17063へのコメント
pokoponさん、コメント有り難う御座居ます。

>■A表(入庫表)とB表(出庫表)を分けて管理する理由は何でしょうか?

桐Ver.8(SP6)ではどうも、自分自身を表引きする事が出来ないようなので、
入庫と出庫を分ける必要がありました・・・。(エラーが出ました)
それが出来れば一つの表で管理しても問題ないのですが。

実は、現在はJUSTSYSTEMの五郎9を使ってます。
が、バージョンアップの予定が未定(T_T)なのです。(OSもWin2kどまり)
やむなく桐Ver.8(SP6)に乗り換えようかと思っているのです。
今後の事を考えるときちんとOSに対応してくれる製品の方が安心ですから。
で、五郎9で作っていた事を桐に置き換えようとしている訳です。
五郎9では自分自身を間接的(ビュー表、桐で言う結合表)を1つ作れば、
それを表引きする事はいとも簡単に出来ますので、桐で同じ事をやろうと思って、最初の質問になった訳です。
(#17058の一番最後に書いた事も簡単に出来るのです)

>3.データの絞り込み
>[出庫]=#Uで絞り込めば、そのまま「在庫品」となります。
>[出庫]=1 で絞り込めば、「出庫済み」のデータとなります。

あ、こうすれば良いですね。早速使わせて頂きます。m(_ _)m

>おそらく(あくまで予想で)、製造番号が長〜くて複雑なため、出庫データの入力
>の際に「品目コード」を入力し、「製品番号を表引きしたい」とお考えになったの
>でしょう。

はい、製造番号は12桁もありまして・・・・。
間違えずに入力させるには、表引きが簡単だと思っているからです。
(私が実際に入力するのではなく、パートのおばさんに入力させたいからです。
私は作っているだけ)

>色々とご事情があるようですので、まとをはずしてっぽいですね。

そんな事ありませんです。色々とアドバイス有り難う御座居ます。

17068 Re:補集合で表引きしたい ケント 2002/08/22-18:58
記事番号17045へのコメント
A.SAKAさん こんにちは

"表引きしたい"とのコメントにまったく的外れかと思いますが…
私もnatsuさんpokoponさんと同じくA表+C表で良いと思います。

その上で[品名コード]をグループ項目とするフォーム(一覧表or伝票)を
作成すれば品名コードをグループ検索できます。
あとは適宜コマンドボタンを作成すると言うことで、いかがでしょうか。
17069 Re:1つの表で管理 pokopon 2002/08/22-19:31
記事番号17067へのコメント
A.SAKAさん こんにちは

>桐Ver.8(SP6)ではどうも、自分自身を表引きする事が出来ないようなので、
>入庫と出庫を分ける必要がありました・・・。(エラーが出ました)

というか、1つのファイルで扱えば、もはや自分自身に対する表引きは必要なくなるわけでして、
管理方法を変えれば、今行っている処理は「1つの表ファイル」で十分対応可能であるということです。

>(#17058の一番最後に書いた事も簡単に出来るのです)
表品コードと[出庫]=#U とで .and 絞込みをすれば、同様の結果を作る事ができます。
(だから、自分自身の表引きなんて必要なくなる。商品コードだけの入力でよい)

>はい、製造番号は12桁もありまして・・・・。
>間違えずに入力させるには、表引きが簡単だと思っているからです。
ですから、少ない桁数の「商品コード」で「在庫品」だけを絞り込む訳です。

>(私が実際に入力するのではなく、パートのおばさんに入力させたいからです。
>私は作っているだけ)

製造コードも、先頭から順に一部だけ入れていくと(勿論、全部でなくとも良い)、
該当するデータだけが次々に検索されていく擬似表引き」という手法もあります。
下記にアクセスして、サンプルをDLしてみて下さい。
http://isweb8.infoseek.co.jp/animal/mokuchan/download/dl-list.htm
#072 販売管理/伝票入力例  一文字毎に表引きができる疑似機能付き
これでイメージがつかめるかと思います。
(これを応用すると、製造番号の一部を入力するだけで目的の在庫品を検索可能)
入力を省力化するには、有効な手立てだと思います。



17070 Re:1つの表で管理 pokopon 2002/08/22-19:33
記事番号17069へのコメント
コメントを良く見ておりませんでした。m(__)m

ケントさんの「商品コード」での「グループ化」といのも有効な手法です。


17073 Re:補集合で表引きしたい A.SAKA 2002/08/22-23:32
記事番号17068へのコメント
ケントさん、こんばんは。コメント有り難う御座居ます。

>その上で[品名コード]をグループ項目とするフォーム(一覧表or伝票)
>を作成すれば品名コードをグループ検索できます。

グループ化って、フォームにあったのですね。桐をやり始めたばかりなので、
どこにあって、どの様に作成するのか探していました。
考えてみれば、実際の入力はフォーム上で行うので、この方法で作成する事にします。
有り難う御座いました。m(_ _)m

>あとは適宜コマンドボタンを作成すると言うことで、いかがでしょうか。

そうですね。式の書き方をマスターしてから作ります。

17074 Re:1つの表で管理 A.SAKA 2002/08/22-23:34
記事番号17070へのコメント
pokoponさん、こんばんは。コメント有り難う御座居ます。

>ケントさんの「商品コード」での「グループ化」といのも有効な手法です。

こちらの方法でやる事にします。色々と有り難う御座いました。m(_ _)m

戻る