Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
CSVデータ取り込み時に任意の文字列追加
投稿日時: 23/01/14 12:29:01
投稿者: koppage

CSVデータをデータベースに取り込む際に、ある空白のフィールドに任意の文字列を追加するにはどうすれば良いですか?
 
例えばCSVには無い「部署」というフィールドを設けておいて、取り込む際に「営業第一」や「営業第二」などという文字列を追加したいのです。
 
CSVデータには部署の情報が無く、アクセスでは部署別にデータ処理をしたいので、取り込む際に部署情報を入れたいという考え方です。
取り込むCSVデータは同じ構造ですが部署ごとに作成されたものです。
取り込む前にCSVデータに部署項目を追加すれば良いのでしょうが、取り込み時に追加出来れば作業がより効率的と考えているのですが。
 
よろしくお願いします、

回答
投稿日時: 23/01/14 15:47:12
投稿者: hatena
投稿者のウェブサイトに移動

読み込んでから更新クエリで更新することになります。部署が未入力のレコードを抽出して更新すればいいでしょう。
 
あるいは、テーブルの「部署」フィールドに規定値を設定しておいて、インポートすればその規定値が入力されます。
 
または、リンクテーブルにしておいてそれから追加クエリを作成して、そこでフィールドを追加して、実行することになります。

投稿日時: 23/01/15 21:07:11
投稿者: koppage

hatenaさんありがとうございます。
 
追加クエリの場合、マスターのテーブルに「部署ごと」のテーブルを追加することになり、テーブルのデータ量が(マスターと部署ごとの)二重になりますよね?
データ量が大きいのでできればこれを避けたいのですが、私の理解が間違っていますかね?
 
更新クエリでやるのが良く理解できません。
 

回答
投稿日時: 23/01/15 23:14:58
投稿者: hatena
投稿者のウェブサイトに移動

> 追加クエリの場合、マスターのテーブルに「部署ごと」のテーブルを追加することになり、テーブルのデータ量が(マスターと部署ごとの)二重になりますよね?
 
部署ごとのCSVファイルをリンクテーブルとしてそれぞれ作成します。そのリンクテーブルから追加クエリを作成します。その追加クエリに部署フィールドを追加して、部署名を設定します。
 
「二重になります」というのがどういう意味か分かりかねますが、
マスターに部署ごとのCSVファイルのデータを追加するのがご希望ですよね。
 
インポートでも、インポート先にすでにあるテーブルを指定したら追加になります。
 
 
> 更新クエリでやるのが良く理解できません。
 
まず、CSVファイルをインポートします。部署名は未入力(Null)になってますので、部署名が未入力のレコードを抽出するクエリを作成して、それを更新クエリにすればいいでしょう。部署名の抽出条件に Is Null と設定すれば未入力のレコードが抽出されます。
 
 
 
 

トピックに返信