1

私はAccessをまったく使用していないので、これが正しい方法で行われているかどうかはわかりませんが、行き詰まっています。

約5000レコードのExcelファイルがあります。このファイルのデータには、雇用履歴を追跡するための列があります。現在、「役職1」と「雇用者1」、「役職2」と「雇用者2」の2つの列があります。

Accessを使用して、ユーザーが雇用記録を追加できるようにしたいと思います。理想的には、必要に応じてジョブ3、ジョブ4などを追加できるようにしたいと思います。

Accessでフォームを作成しましたが、サブフォームが雇用履歴を挿入するための最良の方法であるように思われます。そこで、ジョブデータをインポートするサブフォームを作成しましたが、フォーマットに問題があります。

現在、役職1と役職2を同じ行の別々の列に配置できますが、それらを1つの「役職」フィールドに結合して複数の行を作成したいと思います。

私が正しい方向に進んでいる場合は、サブフォームのフォーマットを仕上げるのに役立つ可能性があります。または、これを行うためのまったく異なる方法がある場合は、それも受け入れます。

簡略化したレコードの例を次に示します。

名前:ジョン・スミス

役職1:記者

雇用主1:トロントスター

役職2:コラムニスト

雇用主2:トロントサン

私が欲しいのは、次のようなテーブルで、行を追加するオプションがあります。

名前:ジョン・スミス

役職/雇用主

レポーター/トロントスター

コラムニスト/トロントサン

よろしくお願いします。説明が明確だったらいいのですが、教えてください

4

1 に答える 1

0

MSAccessでExcelフォームを複製しようとしないでください。次のものを含むテーブルが必要です。

PersonID
JobTitle
JobDetails
JobDate

ユーザーはサブフォームのテーブルにレコードを追加し続け、日付はそれがジョブ1かジョブnかを示します。Excelに出力する場合、必要に応じて、クロス集計クエリによってレコードが1行に並べられます。似たようなものをまだ読んでいない場合は、http://r937.com/relational.htmlを読むことをお勧めします。

既存のデータをこの形式に変更するには、ユニオンクエリを使用できます。

 INSERT INTO NewTable (PersonID, JobTitle, Employer)
 SELECT PersonID, JobTitle, Employer FROM
 (SELECT PersonID1 As PersonID, JobTitle1 As JobTitle, Employer1 As Employer
 FROM Table
 UNION ALL
 SELECT PersonID2 As PersonID, JobTitle2 As JobTitle, Employer2 As Employer
 FROM Table)
于 2012-08-23T21:06:28.293 に答える