私は立ち往生して助けを必要とする/助言する。私はこの問題に遭遇する最初の人ではないと確信していますが、Web上で答えを見つけることはできません。Access 2007:データベースに値を挿入するクロス集計ビュー
私たちは多くの工場からすべての種類のデータを収集しています。これは主に、年間ピーク生産量などの予測値です。このデータ収集は毎年繰り返されます。
我々は現在、以下の構造を有しているエクセル、このデータを追跡:この例の工場Bでは
Factory | 2010 | 2011 | 2012 | ..
----------------------------------
A | 20 | 30 | 28 | ..
B | | 39 | 55 | ..
を、我々はさらに1年間のデータを収集する場合だけで年間2011年に生産を開始し、我々は、単に列を追加するだけです。予測されるデータが変更された場合、新しい値を入力して古い値を失うだけです。この作業方法には限界があると想像することができます。欠落しているデータのためにテーブルが希薄になります。古い値は追跡できません。値のソースへの参照はありません。
私はより良いシステムの必要性を満たすために、私はデータベースに関するアンティークの知識を有効にしました。
表:工場
FacID | FactoryName
---------------------
1 | A
2 | B
表:ソース
SouID | Source | SourceDate
---------------------------------
1 | DocumentX | Sep. 2009
2 | DocumentY | Jan. 2010
表:ちょうどそれぞれの新しいデータ収集のためのパラメータ
ParID | FacID | SouID | ParamType | Year | Value
------------------------------------------------------
1 | 1 | 1 | PeakProduction | 2010 | 20
2 | 1 | 1 | PeakProduction | 2011 | 30
3 | 1 | 1 | PeakProduction | 2012 | 28
4 | 2 | 1 | PeakProduction | 2011 | 39
5 | 2 | 2 | PeakProduction | 2012 | 55
我々はAccess 2007では、私は次の構造を作成しました新しいソースドキュメントを追加し、Parametersテーブルを追加します。このようにして、古いデータにいつでも戻すことができます。さらに、追加年を収集する場合、テーブルに列を追加する必要はありません。
実際の設定はもっと複雑ですが、上記の問題を説明するのに十分です。データをデータベースに入力するには、元のExcelシートレイアウトに似た単一のフォームを作成したいと思います。すなわち:もちろん
Factory | 2010 | 2011 | 2012 |
------------------------------
A | | | |
B | | | |
を、このフォームは、ソース文書およびパラメータの型(例では「PeakProduction」)を選択するために、いくつかのドロップダウンメニューがあります。
私の質問:クロス集計クエリでは、データベース内の既存のデータに基づいてそのようなビューを作成するのは簡単ですが、新しい値を入力することはできません。この仕事をするために私は何ができますか?
私のデータベースの設計を再考する必要がありますか?私はVBAで作業する必要がありますか? AccessデータベースをExcelシートにリンクしますか?
ありがとうございます!
それは、任意のデータベースのフロントエンドでExcelから何かを複製することをお勧めなることはほとんどありません、しかし、ここで1つの考え方は次のとおりです。http://wiki.lessthandot.com/index.php/Crosstabs,_forms_and_updating – Fionnuala
クロス集計クエリはデータ入力を許可するものではありません。通常、複数のテーブルからのビューがあり、すべてのインデックスなどを満たす必要があります。また、1つのクロス集計クエリ内にすべてのテーブルフィールドを表示しないようにしてください。 –
あなたはそのリンクを提供するためにレムウーです。それは私の質問のためのエレガントなソリューションを示しています....それは手で限られたデータセットを入力するために正常に動作します。しかし、Excelデータシートの大きなデータセットをAccessフォームにコピー/ペーストすることは困難ではないようです。 – Rutger