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

ACCESSでの改行コード

  • 質問No.5299448
  • 閲覧数47384
  • ありがとう数8
  • 気になる数0
  • 回答数2
  • コメント数1

お礼率 85% (6/7)

ACCESSでの改行コードの入力方法を確認させてください。

ACCESSのテーブルにテキスト型のフィールドを用意し、一つのフィールドに改行が入ったデータを入力したいと考えています。

以下の方法を試してみましたが、改行コードが入っていないように思えます。

1.エクセルで一つのセルで、ALT+ENTERで文字列を入力し、テーブルにデータをインポート。

2.上記エクセルのデータをCSVで保存したものをテーブルにインポート。

これら2つのデータをテーブルで確認すると、改行はされていないですし、テーブルのデータをエクスポートしたものも改行はされていませんでした。

フィールドの設定で何か必要なんでしょうか?
それとも、テキスト型のフィールドには改行コードを持てないんでしょうか?

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

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

ベストアンサー率 73% (1287/1744)

> 改行コードが入っていないように思えます。

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
お礼コメント
mielq

お礼率 85% (6/7)

お礼が遅くなってすいません。
回答ありがとうございました。

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

まだまだ精進しなければ。

ありがとうございました。
投稿日時:2009/09/29 08:28

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 28% (1424/5026)

accessではctrl+enterで改行を入れることができます。
この場合、cr+lfの2バイトが入力されます。
excelのセル内での改行はlfの1バイトのみだったと思います。
エクセルでの改行をインポートするためには、
テキストファイルとして開いて、対象となる箇所のlfをcrlfと置き換える(crをいれる)必要があります。

cr=キャリッジリターン(Carriage Return)
lf=ラインフィード(Line Feed) NL(NewLine)ともよばれる

もともと、タイプライター的な考え方が
電報とか、ファックスに受け継がれ、
そのまま、コンピュータに使われているのかな?
お礼コメント
mielq

お礼率 85% (6/7)

お礼が遅くなって、すいません。
回答ありがとうございました。
ExcelとACCESSで見た目は一緒でもコードが違うんですね。
なんで、某MSさんは、そんな風に…

このような疑問は、私自身、意外とないがしろにしてきたので、勉強になりました。

ありがとうございます。
投稿日時:2009/09/29 08:21
結果を報告する
    • 2019/07/02 21:22
    • コメントNo.1

    Excel でセル内で改行付きのワークシートをリンクテーブルとしてAccessに登録すると、やはりAccess の中では改行が無視されて見えます。 但し、このデータをWordの差し ...続きを読む

AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ