こんにちは。Windows NTでAccess2000を使っています。
製造業の伝票情報を整理するためAccessと格闘しているのですが
以下の3つのテーブルの構造と結合で悩んでいます。
T_伝票:伝票番号を始め、得意先名や担当営業名など
別のデータベースから情報を引っ張る(ゆえに入力不要)
T_商品:その仕事の仕様等、商品の詳細情報を入力。
T_発送:その商品の発送日・納品日などの納期情報
T_伝票とT_商品の伝票番号は重複なしで設定できますが
T_発送は1つの商品を何回かに分けて送るときが多々あるため重複ありです。
3つのテーブルはそれぞれ入力する人が違う(T_商品は複数人)ことも要注意です。
クエリでT_伝票とT_商品の伝票番号をつないでフォームで伝票番号を入力したとき
T_伝票の得意先名や営業名が自動表示されるようにしたいのですが、
両方ともインデックスを重複なしにすると不可能でした。
(特に一対一のリレーションシップは設定していません。)
そこでT_商品の伝票番号インデックスを重複ありにするとクリアできました。
その後で1つの仕事に対して発送情報が複数のレコードになることが判明した為
始めはT_商品と一緒に収めていた発送情報を別テーブルにしなければならなくなりました。
しかしそうすると、どうT_商品とT_発送をつないでよいのかわからなくなりました。
T_商品から追加クエリでT_発送に同じ伝票番号を持たせることを思いつきましたが
T_発送の伝票番号は重複ありでなければならないため
追加のたびに過去のレコードが重複してしまいます。
かといって追加のたびにT_発送を削除していたら
送りが複数にわたる場合の情報が消えてしまうことになります。
(しかも複数人入力の為削除のタイミングも難しいため合理的でない)
どこをどうすればうまく回避できるのか打開策が尽きてしまいました。
どうかよい知恵があればご教授くださいm(_ _)m
No.1
- 回答日時:
一つの伝票番号に多くの発送情報を対応付けなくてはならないのなら、
T_発送に、伝票番号のフィールドのほか、その伝票番号の中で発送情報を
管理するような子番号(あるいは入力日時とか)のフィールドを別途設けて、
二つのフィールドを組み合わせてキーなりインデックスににすれば
よいのではないでしょうか。
そうすれば、T_発送で伝票番号一括の検索もできますし、
発送情報を個別に識別することもできます。
No.2
- 回答日時:
お力に添えますかどうかわかりませんが
>どうT_商品とT_発送をつないでよいのか・・・
通常はT_商品の伝票番号とT_発送の伝票番号をリレーションするのではなく
T_発送は独自のIDなどを使うのが一般的と思うのですが・・。
例えば発送の際の出荷伝票番号とかです。(あくまで例ですが)
T_発送のテーブル内に発送IDと伝票番号を持たせる。主キーは発送IDで伝票番号は
重複ありのインデックスでOK。
T_商品とT_発送を切り離して考える方が解決方法を見つける近道だと思います。
発送の処理は独自の発送IDで処理するがそのレコード内に伝票番号のフィールドも
あるという考え方であればT_発送で該当する伝票番号の検索等もできT_商品との
リレーションもT_商品の伝票番号とT_発送の伝票番号のフィールドで行えます。
もしくはT_商品の伝票番号+商品IDとT_発送の伝票番号+商品IDで。
>T_発送は1つの商品を何回かに分けて送るときが多々あるため・・
T_商品のレコードに発送チェック用のYes/No型のフィールドを作っておき発送され
た商品はT_発送に発送レコードを保存する際にT_商品の発送チェックにYesを更新
し発送処理をするレコードは発送チェックがNoのレコードのみ表示できるように
しておけば良いのではないでしょうか。
発送処理後T_発送にレコードを追加する際も発送チェックがYesのレコードのみ保存
するようにすれば商品のレコードが重複保存されることがなくなると思います。
質問を一読したところではこんな感じで良いと思うのですが希望する回答でない時
は再度ご連絡をお願いします。
この回答への補足
返信ありがとうございましたm(_ _)m
T_発送に独自のIDを持たせるという件ですが、特に発送独自のナンバーというのがないのでオートナンバーで対処するしかなさそうです。でもこれだとT_商品との結合は不可能ではないでしょうか?
書き忘れましたが操作の手順としては伝票の情報(T_商品+T_発送)は
全て工務を担当する人間が入力し、この発送情報をもとに発送が複数に分かれる場合は
コピー+貼付けで発送日を変更して発送が終わったら済のチェックを入れる…という風にする予定です。
ふと思ったのですが、T_伝票とT_商品での一対一のリレーションシップにおいて
得意先名や営業名の更新がきちんとできないのはなぜなのでしょうか?
T_伝票の伝票番号にキーを持たせているのがまずいとか??
T_商品の伝票番号のインデックスを重複なしにできれば
少しはやりやすくなりそうな気がするのですが…素人意見ですみませんm(_ _)m
No.3ベストアンサー
- 回答日時:
>T_発送に・・でもこれだとT_商品との結合は不可能・・
T_伝票とT_商品は伝票番号でリレーションをとっているのならT_商品のフィールド
で伝票番号と商品IDなどありますよね。T_発送は独自の主キーを使うとして処理の
際にT_商品の伝票番号と商品IDを保存するフィールドを作ってリレーションする
場合はT_商品の伝票番号とT_発送の伝票番号・T_商品の商品IDとT_発送の商品ID
間で繋ぐようにすれば問題ないと思うのですが。
T_発送の独自の主キーは単にT_発送に保存しるレコードのIDとしてのみ使う。
>T_伝票とT_商品での一対一のリレーションシップ
T_伝票の伝票番号は主キー(重複なし)でT_商品の伝票番号はインデックスのみで
(重複あり)にしリレーションはT_伝票とT_商品が一対多のリレーション設定に
すれば良いのではないですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- メルカリ メルカリで、らくらくメルカリ便のネコポスでコンビニで発送しました。 昨日夕方18時くらいに発送しまし 4 2023/07/27 07:14
- メルカリ らくらくメルカリ便でクロネコヤマトを使って商品を送ってもらいましたが数日経っても伝票未登録のままです 1 2022/09/29 19:56
- メルカリ PayPayフリマで商品をコンビニで発送している間に取引がキャンセルされてしまいました。 PayPa 1 2023/04/29 19:20
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- その他(ネットショッピング・通販・ECサイト) 11月1日に中国サイトで品物を購入しました私は何度もメールしていて4日に発送するとメールがあり5日の 6 2022/11/08 10:24
- 格安スマホ・SIMフリースマホ J-COMモバイル新規申込みについて質問です 先日J-COMモバイル新規申込みしました 数日後に発送 0 2023/07/13 16:15
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- その他(データベース) accessについて 2 2022/05/31 16:58
- 消費者問題・詐欺 クレジットカードを使えない店ですが、郵送のための請求書も送ってくれていません。 3 2022/07/21 15:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンピュータ
-
商品番号を入力すると、商品名...
-
2つのテーブルを結合して最大値...
-
Accessのフォームで思った順番...
-
正規化の問題
-
同一テーブルのデータを検索条...
-
updateでグループ化
-
エクセルでリピート率
-
LEFT JOIN あいまいな外部結合
-
各伝票に対して明細を1行目だけ...
-
for whichの使い方
-
差し込み後、元データを変更し...
-
エクセルで最後の文字だけ置き...
-
INSERT文でフィールドの1つだ...
-
グループ毎の最大値を持つデー...
-
VBAのAccessでDATE型のINSERT
-
同一のユーザー、同一商品のと...
-
Exel VBA 別ブックから該当デ...
-
SELECT 文 GROUP での1件目を...
-
Oracleのデータ型、NUMBERについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
商品番号を入力すると、商品名...
-
2つのテーブルを結合して最大値...
-
コンピュータ
-
Accessのフォームで思った順番...
-
特定条件での連番の振り方を教...
-
各伝票に対して明細を1行目だけ...
-
LEFT JOIN あいまいな外部結合
-
orace SQL文のエラー(ORA-0092...
-
IDの欠番
-
updateでグループ化
-
ACCESSでフォーム上のオブジェ...
-
エクセルでリピート率
-
文字列のあるキーワードから開...
-
Word差し込み印刷 数式について
-
Accessレポート 複数条件での集計
-
アクセスのフォームで連動した...
-
ファイルメーカーpro6で
-
アクセス メインフォームの伝...
-
SQL文:ある状態の明細のみを抽...
-
ACCESS フォーム入力で...
おすすめ情報