同じ構造の複数のテーブルに取り組む
私は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)
データベースリレーショナルモデルの基本原理は情報原則(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によって公開されたものから開発されました:
応答3# ->にスキップ1 #PRAVEENどうもありがとうございました.CustomNumberは、1つのtableに異なる一連の数字を作成するための非常に良い例です.それぞれの例は、私のような学習者にとってもそのようなものの傑作でもある.
ありがとうとお願いします
Praveen Kumar
New Delhi
インド
応答6# ->にスキップ4 #Scottge順番にレコードを順番に番号にする必要がある場合は、自動分子数が最良の選択ではありません.毎年新しいシーケンスを開始する方法を確認するには、シーケンシャル番号のブログを参照してください.
それはあなたの問題を正しく解決します.
応答6# ->にスキップ5 #GroverPPMFJJI:
ケンの分析は100%正しいです.
あなたが説明した問題は、自動化合物の性質を理解しないことから結果を生み出します.それらを使用しようとしたときに使用することを意図していません.それらは代理主キーとしてのみ役立ちます.彼らは逐次価値やカウンターとして人間の消費には決して使われてはいけません.
必要なものをするには、そのシーケンシャル番号を制御する別のフィールドを作成する必要があります.毎年、(またはより正確に、コード)をコントロールするので、それを始めることができます.
私は
onedrive
で利用できるものを持っていて、あなたにそれへのリンクを提供するので、例を提供するつもりはありません.
関連質問
- MS Access 2016オブジェクトを削除できません
- スクリプトを介してOpen Access DBをオープンしてマクロを実行するか、自動実行マクロが実行されている
- レポートフッタにSUMフィールドを追加した後、詳細セクションのフィールドはゼロにラウンド
- MS Access 2007 Simple Queryウィザードを選択するために利用可能なフィールドを表示しない
- 新しいコンピュータ、新しいMS O365-チームが働いていません
- 各名前を取って合計を手に入れる?
- Excelワークシートから削除されたシートを回復します
- MS Outlook 2010が2番目のGmailアカウントをポップすることができないのはなぜですか
- その後報告書の場合