![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Access2003を利用しているものです。
以下のExcelでの情報をAccessの元データとして作成したいのです。
A列 B列 C列 D列 E列
和書・ミステリー・作者名・本の感想・○
上記の様な情報が約5万件ほど一つのファイル(仮にファイルAとします)にあります。
それをAccessにインポートして基本情報として利用したいと考えております。しかしExcelの段階で主キーみたいなものは設定しておらず、内容である洋書やミステリー、作者名もその5万件の中に重複している為、主キーとして設定できません。
例えば
和書・ミステリー・宮部みゆき・感想・○
和書・ファンタジー・宮部みゆき・感想・×
といった具合です。
A列・B列・C列の組み合わせはそのファイルに一つしか存在しないレコードなのでその3つの組み合わせで主キーとなるような設定をAccessで可能かどうか知りたいのです。今後、ファイルB(3万件)、ファイルC(2万件)と内容こそ重複しても件数の違うファイルが現れる可能性があり、相殺なり、重複しているレコードなりを調べたいと思っております。ちなみにマクロの知識はいっさいありません。申し訳ございませんが、分かる方がいらっしゃれば教えていただきたいと思います。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
直接の答えは#1で出ています。
しかし主キーとして、質問の3項目を設定する意味は、入力時に重複をチェックしてくれる、検索スピードが速いぐらいで、余り意味がないようにおもう。蔵書番号のようにユニーク(重複のない)な番号が設定され、それがいつも使われる事務習慣(たとえばバーコード読み取りや、その職場ではいつも注文番号と製品名で情報を確定するなど。それにはそれらが判るバーコード印刷物や、注文書などの現物目前存在が不可欠)になっておれば、意味があるが、質問のケースでは、主キーの使い方が、見えないからです。
作り手(入力)側と、使い手側の物の現前存在や検索(利用)の状況が説明されていない(多分整理されていない)からです。
むしろ作者名+書名(+出版社)くらいで、重複がないか、チェック
するのが普通ではないでしょうか。主キーは設定してもしなくてもよく(IDで済ます)、単項目でも副項目でも良いのですから、アクセスだから、直ちに複数項目キー設定ということにしなくても良いのでは
。
全てのシステムには
(A)現前目前存在物は何か 主キーが判る
たとえば図書館で図書館利用カードのバーコード読み取りで利用者IDコードが淡かる
(B)照会システムで名前(電話番号など)利用者IDコードを知り
(A)の済んだ状態になる。
(A)の割合が圧倒的に多いシステムか-->便利を実感。(B)の割合が多い-->まどろっこしい。割り切るか、改善を模索必要。
この(A)(B)を如何にスムーズにつなぐかが、システムの利用の
死命を制すと思います。
言いたいことは主キー設定は、形式的なものでなく、業務実態と関連しているべきということです。
ご批判を乞う。
この回答への補足
ご回答有り難うございます。
これは補足質問ですが、
ファイルAの情報の中に
A列 B列 C列 D列 E列
和書 ミステリー 宮部みゆき 感想 ○
和書 ファンタジー 宮部みゆき 未 未
というように、A~C列までは必ず内容が記載されているがD~E列はレコードによって未記載の場合があります。
しかし今後現れるファイルBやファイルCには
A列 B列 C列 D列 E列
和書 ミステリー 宮部みゆき 感想 ○
和書 ファンタジー 宮部みゆき 感想 ○
というようにファイルAでは未記載でもB、Cには記載されている可能性もあるのです(もちろんその逆もあります)。なので、最終的にやりたい目的の一つにE列まで記載済みのレコードで構成されたファイルを作ること。そして全て未記載のファイル(ファイルDとします)に既に記載済みのレコードで相殺して残りの件数を完成させる。なんていうのも目的にあります。希望はファイルA(一番件数が多いのでこれを基本情報にする)に主キーのような認識番号を付与させファイルB、C、DにもAと同じ番号を付与したいのです。最初にこのような質問を投げれば良かったですね。大変説明不足でした。ゴメンなさい。
No.1
- 回答日時:
簡単にできますよ。
テーブルのデザインの画面でA、B、C列を選択したまま
主キー設定のボタンを押してください。
(A列を選択してそのまま左クリックを離さず、B,Cへ
もっていけば3列選択できますよ)
ちなみに複数列の主キー化はAccessはおろかどんなデータ
ベースでもテーブル設計の際に日常的によくやることです。
この回答への補足
すみません、たびたびの質問ですが、補足質問を#2さんの補足質問欄に掲載しました。大変失礼かもしれませんが、もし#1さんでも回答可能であれば是非お願いします。
補足日時:2006/01/03 11:50お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
エクセルで離れた列を選択して...
-
エクセルマクロPrivate Subを複...
-
VBA 指定した列にある日時デー...
-
アクセス 取り込み時に、桁数(...
-
Excelの行数、列数を増やしたい...
-
Excel文字列一括変換
-
エクセルで最初の行や列を開け...
-
エクセルでセル12個間隔で合...
-
Alt+Shift+↑を一括で行うには、...
-
別のブック最終行最終列の次へ...
-
エクセルで複数列の検索をマク...
-
EXCELを最大にて開いた際、特定...
-
エクセル マクロ 範囲指定で...
-
VBAで結合セルを転記する法を教...
-
VBA配列 列を指定する方法について
-
CSVファイルの「0落ち」にVBA
-
Accessのレポートで繰り返し表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
LEFT関数とIF関数の組み合わせ...
-
再質問です。マクロの修正箇所...
-
VBA 指定した列にある日時デー...
-
Alt+Shift+↑を一括で行うには、...
-
列方向、行方向の定義
-
リストからデータを紐付けしたい
-
エクセルマクロの組み方
-
Excelの行数、列数を増やしたい...
-
エクセルで複数列の検索をマク...
-
CSVファイルの「0落ち」にVBA
-
VBAで結合セルを転記する法を教...
-
VBAで別ブックの列を検索し、該...
-
エクセルマクロPrivate Subを複...
-
データシートビューのタイトル...
-
エクセルでセル12個間隔で合...
-
エクセルで最初の行や列を開け...
-
エクセルで住所を県と市・郡と...
おすすめ情報