システムwiki

同じ構造の複数のテーブルに取り組む

PRAVEEN 受付中 最終更新日:2021-06-17 01:34

私はMS Access 2010でのメールの一年間のtableを持っています.

tableはフィールドを持ちます:

<コードスタイル= "マージン:0; パディング:0; 国境:0; フォントスタイル:継承; フォントバリアント:継承; フォントウェイト:継承; line-height:inherit; フォントファミリ:継承. フォントサイズ:13px; 垂直方向整列:ベースライン. ホワイトスペース:継承">メールID、yymm(年月数)、参照番号、件名
、参照日、ニーズアクション(Y/N)、に割り当てられ、ステータス(開/閉じる)、備考.

"Mail ID"と "yymm"は、yymm-xxxx、例えば2101-7000などの照会によって連結されています.

各tableは約7000レコードを持ち、約50%のレコードは自然「ニーズアクション」です.

「ニーズアクション」メールのステータスを定期的に監視および更新する必要があります.すべてのtableからすべてのメールを1つのtableにマージして、そこに各年のtableの形式でそれらを更新する方法があります.

tableにSQL Union照会を統合しましたが、ステータスを更新することはできません.これをどうやって行うことができますか.

返信リスト(回答:7)

7 #
KenSher

データベースリレーショナルモデルの基本原理は情報原則(CodDの規則#1)です.これには、すべてのデータがtable内の行の列位置に値として、および他の方法で格納されることが必要です.データをtable名としてエンコードすることによって、この原則は違反されています.
正しい解決策は、tableからのデータを、yymm列とメールID列がコンポジット候補キーを構成する単一のtableに挿入することであろう、または別の自動数列がプライマリとして定義されている場合2つの列を単一の固有のインデックスに含めることによってキー.
現在のマルチtableのセットアップ単一の形式で関連する行を編集できる1つの方法では、[ニーズアクション]がサブフォームで、それぞれの別のtable上のクエリの結果セットを返すことです.バインドされていない親フォーム内のタブコントロール.

応答7# ->にスキップ
6 #
PRAVEEN

親愛なるken

あなたの貴重な提案のためにそんなにありがとう.'mailid'が自動番号フィールドと番号付けの開始なので、1年ごとのtableを作りました.以前の私は、すべての年の完全なデータのために1つのtableを使用していました、そして、私はすべての新年の初日に '1'への「mailid」を初期化していました.しかし、Accessデータベースファイルを正しく閉じることができない場合、その後、前の最大数から自動番号を起動します.この問題を克服するために、私は年間tableを分離しました.

あなたがこの活動をするために他の手段があると思うかどうかを提案してください.

ありがとうとお願いします

Praveen Kumar

応答6# ->にスキップ
3 #
KenSher

毎年1回の上方から各行を順番に数値に順番に番号から順番に数値にする必要がある場合は、従来の長い整数データ型の列を使用し、レコードが挿入されたときにmailID値を計算する必要があります. バウンドフォームを介して.[Public Databases]フォルダの[CustomNumber.zip]に例があります.
https://onedrive.live.com/?cid=44cc60d7fea42912&id=44cc60d7fea42912年169.
この小さなデモファイルは、私の場合は、あなたのケースで、年ごとの「グループ別の番号付け」のオプションを含みます.私の以前の返事で言ったように、主キーはMailID列とyymm列の複合の1つになります.私のデモでは、それはNameIDと性別の合成です.
私のデモで次の番号を計算するために使用される方法は、もともとRoger Carlsonによって公開されたものから開発されました:

https://www.rogersaccesslibrary.com/forum/topic395.html.

応答3# ->にスキップ
1 #
PRAVEEN

どうもありがとうございました.CustomNumberは、1つのtableに異なる一連の数字を作成するための非常に良い例です.それぞれの例は、私のような学習者にとってもそのようなものの傑作でもある.

ありがとうとお願いします

Praveen Kumar

New Delhi

インド

応答6# ->にスキップ
4 #
Scottge

順番にレコードを順番に番号にする必要がある場合は、自動分子数が最良の選択ではありません.毎年新しいシーケンスを開始する方法を確認するには、シーケンシャル番号のブログを参照してください.

それはあなたの問題を正しく解決します.

応答6# ->にスキップ
5 #
GroverP

PMFJJI:

ケンの分析は100%正しいです.

あなたが説明した問題は、自動化合物の性質を理解しないことから結果を生み出します.それらを使用しようとしたときに使用することを意図していません.それらは代理主キーとしてのみ役立ちます.彼らは逐次価値やカウンターとして人間の消費には決して使われてはいけません.

必要なものをするには、そのシーケンシャル番号を制御する別のフィールドを作成する必要があります.毎年、(またはより正確に、コード)をコントロールするので、それを始めることができます.

私はonedriveで利用できるものを持っていて、あなたにそれへのリンクを提供するので、例を提供するつもりはありません.

応答5# ->にスキップ
2 #
PRAVEEN

私の疑問を片付けるためにありがとうございました.私はその概念を理解しました.

Praveen Kumar

New Delhi

インド