• ベストアンサー
  • すぐに回答を!

ACCESSでの改行コード

ACCESSでの改行コードの入力方法を確認させてください。 ACCESSのテーブルにテキスト型のフィールドを用意し、一つのフィールドに改行が入ったデータを入力したいと考えています。 以下の方法を試してみましたが、改行コードが入っていないように思えます。 1.エクセルで一つのセルで、ALT+ENTERで文字列を入力し、テーブルにデータをインポート。 2.上記エクセルのデータをCSVで保存したものをテーブルにインポート。 これら2つのデータをテーブルで確認すると、改行はされていないですし、テーブルのデータをエクスポートしたものも改行はされていませんでした。 フィールドの設定で何か必要なんでしょうか? それとも、テキスト型のフィールドには改行コードを持てないんでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数49090
  • ありがとう数8

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

  • ベストアンサー
  • 回答No.2

> 改行コードが入っていないように思えます。 No.1の方の回答にもある通り、Excelのセル内とAccessのフィールド内とでは、 改行コードが違います。 ただ、Excelの改行コード自体は、インポートの際に取り込まれていますので、 Accessにてクエリ等を使用して変換してやれば、改行表示されるようになります。 例えば、Excelからのインポートデータが保存されているテーブルを「テーブル1」、 改行コードが入ったフィールドを「フィールド1」とすると、以下のSQL文で改行 コードを変換できます(添付画像は同じもののデザインビュー): Update テーブル1 Set フィールド1 = Replace([フィールド1],Chr(10),Chr(13) & Chr(10)); ※Chr関数は、引数で指定したコードに対応する文字を返す関数です。   「Chr(10)」はラインフィード(=Excelのセルでの改行コード)を、   「Chr(13) & Chr(10)」はキャリッジリターン&ラインフィード(=同・Access)を  それぞれ表します。 ※Replace関数は、第1引数で指定した文字列の中から第2引数で指定した  文字列を探し、あった場合は第3引数で指定した文字列に置換する関数です。  但し、Access2000では、クエリ上では使えなかったと記憶しています。  この場合は、標準モジュールでユーザー定義関数を作成してやれば、  その関数を使用することで同様の処理が行えます。 一例(Replace関数の省略可能な引数を全て省略したもの): Public Function Replace2(sExp As String, sFnd As String, sRpl As String) As String   'Replace2関数で指定した引数をそのままReplace関数に渡し、   '戻り値をそのままReplace2関数の戻り値にします。   Replace2 = Replace(sExp, sFnd, sRpl) End Function

共感・感謝の気持ちを伝えよう!

質問者からのお礼

お礼が遅くなってすいません。 回答ありがとうございました。 uqdate文に関数の説明までつけていただき助かりました。 通常の文字ならば、コードでなくとも比較できるから… と考えてましたが、いざ、改行を…となると、コードでなければ処理出来ないので、私自身がフリーズしてました。 まだまだ精進しなければ。 ありがとうございました。

関連するQ&A

  • Access2003で特定列の改行コードを削除してCSVへエクスポート

    またまた、質問させていただきます^^; Access2003にてCSVデータを一旦インポートして、クエリなどを使いデータを編集し、別のテーブルへ追加クエリを使用して吐き出し、そのテーブルのデータ全てをCSVファイルへエクスポートする、といった処理をしております。 はじめに取り込むCSVデータが、セル内(エクセルの編集画面でたとえさせていただきます)で沢山改行されているデータで、それをアクセスに取り込むと改行は一旦なくなったように、見えるのですが、エクスポートするとやはり改行コードが着いたままエクスポートされます。 この改行コードをAccessの処理で削除したいのですが出来るのでしょうか?CSV内の改行全てを削除するのではなく、特定列内(例えばC列など)のセル内の改行コードのみの削除です。 エクセルのClean関数なども試しましたがAccessの処理で一括してしまいたいのです。 TeraPad、秀丸などのテキストエディタで改行コードの置換をすると全て消えてしまい、CSVの行を意味する改行コードまで消えてしまうので使えないし。。。 皆様、お知恵をおかし下さい!お願いします。

  • 改行コード

    アクセス2000で作成したテーブルをCSVにはきだしているのですが、あるフィールドのデータに改行コードが入っています。 クエリで、フィールド内のデータの改行コードを省くということは出来るのでしょうか?

  • Excelで改行が含まれたフィールドをcsvに変換する際改行を取る方法を教えてください

    ExcelをCSVファイルにする必要があり、レコードの形式を "aaa","bbb","ccc"改行コード にしたいいと考えております。(それぞれのフィールドに改行コードは不可) Excelファイル時に、改行を置換(Ctrl+JをNULLで置換)しCSVで保存しエディタで見ると改行が残っています。(CR-LFがCRに置換されているため) 使用しているエディタはEmエディタです。 Accessでインポートしたのちtxtでエクスポートしても結果は一緒でした。 フィールド内の改行だけを取る方法はありますでしょうか。

その他の回答 (1)

  • 回答No.1

accessではctrl+enterで改行を入れることができます。 この場合、cr+lfの2バイトが入力されます。 excelのセル内での改行はlfの1バイトのみだったと思います。 エクセルでの改行をインポートするためには、 テキストファイルとして開いて、対象となる箇所のlfをcrlfと置き換える(crをいれる)必要があります。 cr=キャリッジリターン(Carriage Return) lf=ラインフィード(Line Feed) NL(NewLine)ともよばれる もともと、タイプライター的な考え方が 電報とか、ファックスに受け継がれ、 そのまま、コンピュータに使われているのかな?

参考URL:
http://ja.wikipedia.org/wiki/%E6%94%B9%E8%A1%8C%E3%82%B3%E3%83%BC%E3%83%89

共感・感謝の気持ちを伝えよう!

質問者からのお礼

お礼が遅くなって、すいません。 回答ありがとうございました。 ExcelとACCESSで見た目は一緒でもコードが違うんですね。 なんで、某MSさんは、そんな風に… このような疑問は、私自身、意外とないがしろにしてきたので、勉強になりました。 ありがとうございます。

関連するQ&A

  • 途中で改行されたCSVをAccessに正常に取り込むには?

    以下のようなCSVファイルがあり、これをAccessにインポートしようとしています。 フィールド1  数字7桁 フィールド2  数字2桁 ・・・・・    フィールド20 テキスト42桁 ・・・ フィールド26 数字13桁 ただ、レコードの中には長すぎるためか途中で改行されてしまっている レコードがあり、レコードが途中で切れてしまい、続きが次の行に 読み込まれると言う少し困った状態になっています。 (見たところ、フィールド20で切れているようです) 数箇所なら元のCSVを修正してから取り込めばいいのですが、全体が約80万件で、 そのうち200件以上はあるため、手作業でなく何か自動的に直す方法で対処したいと思っています。 (元のCSV自体が読み込みが重いため、手作業は困難です・・) Accessに取り込むためのいい方法はないでしょうか? OSはWinXPのSP2、Accessは2003です。

  • Accessの使い道について。

    Accessの使い道で、 <単月だけのデータが毎月CSVで提供されるので、それを一つのテーブルに毎月インポートし蓄積する。> というようなことを考えています。要するに毎月2000件のデータがCSVに入っているなら、一つのテーブルのデータが一ヶ月に2000件ずつ増えていくわけです。私個人で使うのではなく、周囲のパソコンに詳しくない人達に簡単に使ってもらいたいものです。CSVは、カンマで区切られた項目数はかなり多いです。 まずこういう使い方をするなら、インポートを毎回手作業でやるのは大変なので、マクロを組まないと厳しいですよね?というか、CSVが毎月入手できるなら、それをAccessなどに別途インポートしようとする事自体が無駄でしょうか?なぜAccessにインポートしたいかと言えば、特定のコードのデータを複数年月に渡って抽出したいと思うからです。単月分のCSVしかないのではそれが出来ないと思うので。 私はまだAccessについては詳しくないのですが、Excelではマクロなしで相当頑張れても、Accessではマクロを知らないとやれることがすぐ限界に来るという認識でいいですよね?

  • データからの不要コード削除

    SQL Server にあるテーブルとテキストファイル間のインポート時のトラブルです。どなたかご教示お願いします。 1.テーブルQA にデータが入っています Answerフィールドはvarchar(500) 2.1のデータをテキストファイル(タブ区切り) にエクスポートする>QA.txt 3. QA.txt から SQL のテーブルにデータをインポートすると エラーとなる 原因:Answer フィールドに改行などのコードが含まれていて テキストファイルに落としたときに これらのコードにより改行されたりして フィールドの形態が壊れているから (QA.txtエクセルで開いて確認) SQL上で テーブル内のデータからこれらのコードを削除する作業を行った上でテキストファイルにエクスポートすればよいかと思いますが その削除するコードはどのように指定すればよいでしょうか。 改行が含まれているようだったので下記を実行しましたが それでも不要コードがまだ残っています。 update QA set AnswerName = replace(answerName,' ', '') where AnswerName like '% %' よろしくお願いいたします。

  • Accessのインポートについて

    マイクロソフトアクセス2010でテーブルを作り、そこにCSVファイルを読みこませたいです。 テーブルのフィールドはテキスト型です。 例えば、Table_TESTというテーブルにF1というテキスト型のフィールドを設けます。 Access標準のTEXTインポート機能を使い、インポートを行おうとします。 CSVファイルのデータは、「12345678912345678ABCD」といったように数値とアルファベットです。 なぜか、このようなデータをインポートする時にデータ変換エラーと表示されて、正しくインポートできません。 これは、なぜこのような現象が起こるのでしょうか?

  • エクスポート時の改行コードについて

    SQLServe2000にて、bcpコマンドでテーブルのエクスポート(csv形式)を行いたいと考えています。しかし出力元テーブルの一部フィールドで改行が入ったデータがあり、出力時に行の体裁が崩れてしまいます。bcpコマンドにて出力時に上記の問題を回避する方法を探しています。(やりたいことはSQLServe上から定期的にCSVデータを出力するのが目的です。)どうかよろしくおねがいします。

  • accessのレコードデータをPostgreSQLに移行したい

    accessのレコードデータをpostgreSQLに移行したいと考えています。 accessのデータをcsvファイルにエクスポートしてからposgresSQLで インポートしようと考えていました。 しかしレコードの中にEnter(改行コード)があるので、csvに変換して しまうとレコードの件数以上に行数ができてしまい、postgresSQLで インポートがうまくできませんでした。 accessのレコードにある改行コードを他の文字に変換するしか posgreSQLに移行する方法はございませんでしょうか? できれば改行コードもそのまま移行したいと考えておりますが 何か良い方法があればご教授頂ければと思います。 よろしくお願いします。

  • ACCESSにエクセルのデータをインポートする際、改行は?

    EXCELのデータを、ACCESSにインポートしようとして、 エラーが発生しました。 EXCELのデータの中に、改行している列があるので、 そのためかと思われるのですが…。予想は当たっておりますでしょうか? また、その為にインポートできないとすると、そのデータは、 (1)列を複数つくって、それぞれに入力する (2)一つのセルに、コンマなどで区切って入力する のどちらかになるかと思うんですが、 (2)の場合、例えば、コンマで区切った箇所を ACCESSのフォームで改行して表示するような方法はあるのでしょうか? 初心者ですので、VBAというのはあまりよく分かりません。 どなたか教えていただけると嬉しいです。

  • MicrosoftAccess2003について

    Microsoft Access2003にて、2つのCSVファイルをインポートして、1つの任意テーブル形式に反映される方法を教えて下さい。 Microsoft Accessの初心者(2,3時間触った程度)です。EXCELは簡単なマクロを作成できる程度です。 現在、居なくなった人が作成したAccessファイルがあり、当該ファイルを更新する作業を行っています。 更新作業内容 1.現在の仕様にて、フォームに手打ちにてデータを打ち込みテーブルに反映させるように なっているのを、ボタンを押して打ち込む内容を含んだCSVファイル(2種類)をインポートして 当該テーブルに反映させたい。手打ちで行う方法も残して、別途データ読込み機能を追加 したい。 つまり、2種類のCSVファイルをインポートし、一つのテーブルをインポートした内容を反映したものにしたい。 (テーブルが更新されれば、その後の処理は作成済みとなってます。) 2.仕様 CSVでは、入金と出金でファイルが2つに別れているが、テーブルは1つで管理しています。 (1)テーブルの仕様: 「」がフィールド名、【】がデータ型、その後は説明です。 (1)「id」、【オートナンバー】 (2)「削除」、【yes/no型】 (3)「受付区分」、【テキスト型】、2種類のファイルの分類。入金ファイルの場合は全て『1』、出金は『2』と記入する。 (4)「〇〇コード」【テキスト型】、インポートしたファイルから反映。CSVファイルも「〇〇コード」というレコード ~ (7)「区分」【テキスト型】、インポートしたファイルから反映。CSVファイルでは「区分コード」のレコードに該当。 しかし、CSVファイルには「区分」というレコードがあり、日本語が記入されている。 レコード名がテーブルとCSVで合あってないのはこの一つのみです。 他の箇所に影響するため、フィールド名は変更できない。 ~ (12)列まであります。CSVファイルから反映するものもあれば、反映せずNULLで表示したい箇所もあります。 (2)2つのCSVファイルの仕様 データのフォーマットは全く同じ。ファイル名が違うのみ。(入金と出金) 上記2.(1)(3)はファイル名で見分けるしかできない。 共に(1)~㉝の列で構成されている。テーブルに必要は情報は、2.(1)(3)以外は含まれている。 拙い説明文書で申し訳ございませんが、ご協力お願いいたします。 不十分な点があるかと思いますが、ご質問頂ければ回答させて頂きます。 本当に初心者なため、手順なども教えて頂ければ幸いです。 皆様、宜しくお願いいたします。

  • ACCESSで、テキストファイルをインポートしたい

    宜しくお願い致します。 ACCESSで、テキストファイルをインポートしてテーブルを作成したいのですが、ファイル→インポートを選択して、ウィザードを開く方法は分かるのですが、マクロを作成してインポートは出来ないでしょうか? excel、CSVファイルでしたら、「ワークシート変換」、「テキスト変換」のマクロでインポートしたりエクスポートしたり出来ると思うのですが・・・、 (1)テキストファイルをインポートしたり、エクスポートしたりする場合、どのようなマクロがあるのでしょうか。 (ためしに、「出力」マクロで、あるテーブルをCSVファイルにエクスポートしてみたのですが、カンマ区切りにできず、excelのような枠付きのテキストファイルになってしまいました。) (2)容量が大きいデータの場合は、テキストファイルでエクスポートしたほうが良い・・・という認識に間違いはありませんでしょうか。 質問が一つ増えてしまいましたが、宜しくお願い致します。

  • 【ACCESS】文字列を抜き出したい

    初心者ですが。分かる方お願いいたします(__)(至急ですみません) 会社の専用システムからCSVデータをダウンロードしました。 その時点で、「商品コード」のフィールドが「"=0123456"」 のようなってしまっています。(「0123456」のように数字だけになっていてほしい) CSVの段階で、文字列関数を使用して数字だけにしてしまえばいいのですが、何万件とデータが重く、ファイルも複数あることから時間がかかってしまいます。 そこで、ACCESSにデータをインポートして加工しようとしましたが、どのようにすれば数字だけ抜き取ることができるでしょうか。 Right関数、left関数も考えましたが、商品コードの文字数が一定していないためできません。 インポートした時点で商品コードのフィールドがテキスト型にされていたので、数値型にすれば数字だけになるかな?と思ってやってみましたがデータがすべて失われてしまいました・・。 良い知恵をお貸しください。 どうぞよろしくお願いいたします。 それをACCESSにインポートしてテーブルを作成致しました。

専門家に質問してみよう