アクセスでのインポート時の改行について

このQ&Aのポイント
  • アクセスでのインポート時には、テキストデータの改行に注意が必要です。
  • 文字列A、文字列B、文字列C、文字列Dを含むテキストデータをアクセスにインポートする際、適切な改行を行う必要があります。
  • 一行あたりの文字列の数に応じてセル内改行を行い、文字列A、文字列B、文字列C、文字列D、文字列E、文字列F、文字列Gを各セルに配置してください。
回答を見る
  • ベストアンサー

アクセスでのインポート時の改行について

現在テキストデータで 文字列A〈tab〉文字列B〈tab〉文字列C〈tab〉文字列D〈改行〉 文字列E〈tab〉文字列F〈tab〉文字列G〈改行〉 : : というファイルがあります。 これをアクセスにインポートするときに、 文字列A  文字列B        文字列C        文字列D 文字列E  文字列F        文字列G : : ※文字列B・C・DおよびF・Gはそれぞれひとつのセル内改行です。 という形でインポートすることは可能でしょうか? もちろんインポートのときでなくても後の加工でこの形になればそれでもいいのですが、いかんせん数が多いのですべてを手入力するのは不可能なのです。 一行あたりの文字列の数は上の例のように4つだったり、3つだったりするのですが、セル内改行にしなければいけないのは左から2つめ以降のセルだけです。 どなたか教えていただけませんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

色々なやり方があるかと思いますが 取りあえずインポートを行います。 テーブル名を仮に、T1 フィールド名それぞれ、F1,F2,F3,F4 とします。 クエリを新規作成し、SQLビューに切り替えて 下記をコピペします select F1,F2 & iif(isnull(F3),null,Chr(13) & Chr(10) & F3 & Chr(13) & Chr(10)) & F4 as F5 from T1; データシートビューに切り替えて確認して見て下さい。 もし大丈夫なら、そのまま使うなり クエリのデザインビューに切り替えてから、メニューのクエリから クエリの種類をテーブル作成クエリにして新たなテーブルを作成して使ってください。

PaPaJohn
質問者

お礼

ありがとうございます。 ちょっとトライしてみます。

PaPaJohn
質問者

補足

トライしてみました。何とかなりそうです。 セル内の折り返しに入れ込みたい文字列の数が結構増えてきそうなので、単純にChr(13) & Chr(10)でつなげちゃうことにしました。 なるほどインポートのときの改行コードを変えておくのではなくて、Chr(13) & Chr(10)をクエリで追加してテーブルを作成するのですね。 とても助かりました。ありがとうございます。

関連するQ&A

  • EXCELで改行しながら文字表示

    セルB1に  「12345678(改行)ABCDEFGH(改行)abcdefgh(改行)09876543」 と表示させたいです。(文字列は例) 半角8文字単位で改行 表示させる元データは、  セルB5=C5&D5&E5&F5     C5=12345678(文字列)     D5=ABCDEFGH(文字列)     E5=ABCDEFGH(文字列)     F5=09876543(文字列)   各々文字列が入力されないこともあります。  (文字が無ければ前詰めですが、できるだけ8文字単位にしたいので   半角スペースを入れたりします。) C5からF5を入力することにより、カーソルをB5にもっていくと 結果としてB1に表示させるというものです。 文字列は*5行のセルだけでなく、8000行くらいあります。 欲をいえば、カーソルがある行のセルB*を表示させることが できればベストです。 (例えば、F4000にカーソルがあれば、B4000の文字を表示する) 宜しくお願いします。

  • エクセルの条件文で抽出したセルに改行を入れたい

    条件文で作成した文字列内に改行を入れる方法を教えてください。 下記のようなエクセル(以後、数百行あります)があり、○がついているところの1行目にある文字をK2セルに入力したいと思います。   A  B  C  D  E  F  G  H  I  J K  1 あ い う  え  お  か  き  く け  こ   2 ○       ○       ○    ○  ○ 3   ○      ○    ○  ○ K2セルには、○印のついている あ え き け こ と改行して出力されるように関数を組むにはどうしたらいいのでしょうか? =IF(A2=○,A1&"","")&IF(B2=○,B1,"")&IF(C2=○,C1,"")&IF(D2=○, D1,"")&IF(E2=○,E1,"")&IF(F2=○,F1,"")&IF(G2=○,G1,"")&IF(H2=○,H1,"")&IF(I2=○,I1,"")&IF(J2=○,J1,"") と入力してみましたがうまくいかず、これではうまくいったとしても 改行なしで あえきけこ と出てしまう気がします・・・。 一晩悩みましたがどうしてもうまくいかないのでどなたか教えてください。 よろしくお願いいたします。

  • 改行コードから改行コードまでをスプリットして配列に取り込む方法を教えて

    改行コードから改行コードまでをスプリットして配列に取り込む方法を教えてください。 ファイル「sample.txt」の中に 文字列A 文字列B 文字列C 文字列D 文字列E 文字列F 文字列G と書かれていたとします。このファイルを開き、配列@listに @list = 文字列A\r\n文字列B\r\n文字列C\r\n,文字列D\r\n文字列E\r\n,文字列F\r\n文字列G\r\n となるようなコードを教えてください。 要は二重改行コード\r\n\r\nをスプリッタとして複数の行を配列に取り込む方法です。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • エクセル特定の列で改行。

    エクセルでシート保護をすると、ロックしていないセルにはTABキーで進みます。 しかしTABキーは列方向(横方向)に進んでしまいます。ある特定の列で改行出来るでしょうか? たとえばTABキーでA1、B1、D1に進み次はA5、B5、D5に次はF1、H1、K1といった感じです。 よろしくお願いします。

  • エクセルVBAで、複数セルのデータをひとつのセルに改行してまとめたいのですか・・・

    データの内容をひとつのセルに改行して入れていくという 作業を自動化できないでしょうか? 「データ」シート メモ 地点 from ~ to 線種 A1,B1,C1,D1,E1,F1に上の項目があり、 メモ、地点には文字、from ~ toには時刻(00:00)が入り、線種には =====というような記号が入ります。("~"の列には00:00形式の時刻が入る他"~"という記号が入るときもあります) それぞれの項目の下にデータを入力してあります。 これを「まとめ」シートに ・A~E列までをひとつのセルに改行してまとめる ・F列はその右隣にそのまま表記する と自動でできないかと考えています。例えば、「データ」2行目に A2 観劇 B2 日本大劇場 C2 10:00 D2 ~ E2 12:00 F2 ====== とある場合、「まとめ」シート A2セルは 観劇 日本大劇場 10:00~12:00 と改行して入り、B2に「データ」F2の======が入るように「データ」シートのデータがなくなるまで右にずらっとつなげていくようにしたいと思っています。今手作業でやっているのですが時間がかかって・・・。 よろしくお願いします。

  • インポートしたシートのセル内の改行

    初めての質問です。 EXCELのワークシートをACCESSにインポートしました。 列見出し(フィールド)は 日付 内容A 内容B で、内容A,B共にセル内で改行(alt+enter)しています。 これらをACCESSにインポートすると データ内での改行が保持されていません。 レポートで印刷する際に見易さがほしいので データ内で改行させたいのです。 VBAは、少しわかります。 どなたかよろしくお願いします。

  • EXCEL→ACCESSインポートでセル内改行が機能しません・・。

    EXCELデータをACCESSにインポートする局面で、 ・EXCELデータのセルは、CHAR(10)によって、セル内で改行されています。 ・これをACCESSへインポートすると、改行が機能せず連続した文字列となってしまいます。 ・ACCESSの該当項目は、メモ型(文字数が多いので)です。 EXCELでの表示と同一の表示がACCESSで得たいのです。 よろしくご指導下さい。

  • エクセルで複数セルをひとつのセルに改行して表示させたい。

    エクセル2000です。 こんな関数ありますでしょうか? 仮に A1に「ああああ」B1に「いいいい」C1に「うううう」と文字列(文字数は不定)が入っていた場合 A2セルに ああああ いいいい うううう と、改行して表示させる方法を知りたいのです。(&でつなげただけでは改行できないものですから)

  • EXCEL2007 情報抽出 関数

    A~E列それぞれの一つのセルに"1"を入力し、F列にある情報を抽出、 G列のセルに表示させたいです。 行が多いので、IF関数などは使用できませんでした・・・ 何を使用すればよろしいでしょうか・・・? 例) A1~A20 B1~B20 C1~C20 D1~D20 E1~E20 それぞれの列の一つだけに1を入力します。 ・A 5に1を入力 → F5の情報をG1に表示 ・B15に1を入力 → F15の情報をG2に表示 ・C 2に1を入力 → F2の情報をG3に表示 ・D18に1を入力 → F18の情報をG4に表示 ・E9 に1を入力 → F9の情報をG5に表示 行数が多く、複数の関数を試してみても、数の制限にひっかかるのか うまくいかず困っています。どうぞよろしくお願いします。

  • 【Excel】該当データ表示方法について

    Excelの表で、(A)列にデータ名、(B)列にデータ値が入力されているとして、 1.(C)列に(B)列のデータ値の種類を昇順で表示、 2.(D)列に(C)列のデータ値を持つ(A)列の文字を表示、 3.(E)列に(D)列のデータ種類の数を表示 という3つの内容を実現したいのですが、(1つでも) ご存知の方、教えて下さい。よろしくお願いしますm(__)m 【イメージ】   | (A) (B) (C)  (D)   (E) ――――――――――――――――――― (1)| A 10 10 A、D、E   3 (2)| B 20 20 B、G    2 (3)| C 30 30 C、F    2 (4)| D 10 (5)| E 10 (6)| F 30 (7)| G 20

専門家に質問してみよう