Accessで一定の文字を改行に置換したいのですが教えてください。
例)@を改行にする
宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

更新クエリを使えばいいでしょう。



クエリを新規作成して対象テーブルを追加します。
メニューより[クエリ]-[更新クエリ]をチェックします。

対象のメモ型フィールドを表示させて、そこの「レコードの更新」欄に

Replace([フィールド名],"@",Chr(13) & Chr(10),1,-1,0)

と記述して、保存します。
その後、この更新クエリを実行します。

AC2000の場合は、サービスパックを適用しておかないと、Replace関数が
つかえなかったと思いますので、適用してない場合は適用してください。
    • good
    • 0

Accessでは文字列の置換では、できないかもしれません


ね。

秀丸エディタ(テキストエディタ)にそのメモ型のデータ
を貼り付けて、そこで置換して戻すのはどうでしょうか?

それか、VBAでプログラミングするとか・・・。
    • good
    • 0
この回答へのお礼

いろいろと参考になりました。
大変ありがとうございました。

お礼日時:2001/03/28 18:44

Accessのバージョンが何かわかりませんが、


Access2000でしたら、VBAで以下のようにすれば置換でき
ます。

Dim sBuf As String

sBuf = "AAA@BBB@CCC"
sBuf = Replace(sBuf, "@", vbCrlf)

以上、お試しください。

この回答への補足

回答大変ありがとうございました。
Accessのバージョンは2000です。
当方VBAの経験がなく、VBA以外の方法はないのでしょうか
また、データ型はメモ型を使用しております。

補足日時:2001/03/28 10:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q改行コードを任意の文字に置換するには

マイクロソフトのエクセルかアクセス、または、
メモ帳、ワードパッドで、改行コードを任意の文字
(例えば「A」)に置換する方法をご存知の方、
教えてください。
VBAを使った方法でもよいです。

秀丸等のエディターで、「\n」を使って、
置換をする方法は知っているのですが、
アクセスやエクセルしか使えない端末で実施する必要があります。

よろしくお願いします。

Aベストアンサー

テキストファイルですよね?

抜けてますがWordが一番簡単かも。
(ExcelやAccessが入っているならwordも有るのでは?)

[編集]→[置換]
[オプション]→あいまい検索をOFFに

検索する文字列 ^p
置換後の文字列 A

こんな感じで置換できると思います。

QAccess 2002で既定値に入力した文字を改行したい

Access 2002を使用しています。
メモ型のフィールドに規定値を入れたいのですが、
2,3行に改行して表示させたいのです。

例)
リンゴ
バナナ
みかん

="リンゴ" & chr(13) & "バナナ" & chr(13) & "みかん"
と記述したのですがくっついて表示されてしまいます。

リンゴバナナみかん

どのように表記すればよろしいでしょうか。
よろしくお願いします。

Aベストアンサー

以下のように、「Chr(13)」の後に「Chr(10)」を続けると、改行表示されると思います:

<現状>
= "りんご" & Chr(13) & "バナナ" & Chr(13) & "みかん"

<修正>
= "りんご" & Chr(13) & Chr(10) & "バナナ" & Chr(13) & Chr(10) & "みかん"

Q宜しくお願いします。文字の分け方で 例えば写真のようにサイトからひろったものですが、上の式はひろった

宜しくお願いします。文字の分け方で
例えば写真のようにサイトからひろったものですが、上の式はひろったもので、正しく出来るのですが、下の式は自分がまねて作りましたが、エラーがでます。
何処が間違ってるのかよくわかりません。宜しくお願いします。

Aベストアンサー

B1 と B2 に入力されている実際の式をコピーして、メモ帳などに張り付けてみて比較してはどうですか?
提示された画像では粗すぎてよくわかりません。
(というか質問文にそれを張り付けるとかしていただかないと)

#VALUE! なので式中の各関数の書き方などに間違いはないと思います。
おそらくは各関数の中で指定している「セル番地」「文字」などに想定外の値が指定されているため、途中または最終的な計算が成り立たないのではないかと。

FIND は探している文字が見つからない場合に #VALUE! を出力するようです。
ということは
・ FIND 直前までの計算結果で ● を含まない文字列が出力されている
・ FIND の直前までの計算結果が #VALUE! になっている
ということが考えられます。

LEN は #VALUE! の文字数をカウントしようとすると #VALUE! を出力するようです。
ということは LEN 関数の引数がすでに #VALUE! になっている可能性が考えられます。

SUBSTITUTE は、いずれかの引数がすでに #VALUE! になっているか、第4引数 「何番目に見つかった文字を置換するか」 の数値に 0 とか負の値を指定すると #VALUE! を出力するようです。

ずらっといくつかの計算式から成る複合的な計算式をにらめっこするのではなく、式を最小単位に分解して、すべての式が想定通りの値を出力しているか確認するようにすればエラー箇所を予想する力が付きますよ。

で、今回の場合はいずれかの SUBSTITUTE の第2引数が怪しいんじゃないかとにらんでいます。(画像が粗くて判別できませんが)

B1 と B2 に入力されている実際の式をコピーして、メモ帳などに張り付けてみて比較してはどうですか?
提示された画像では粗すぎてよくわかりません。
(というか質問文にそれを張り付けるとかしていただかないと)

#VALUE! なので式中の各関数の書き方などに間違いはないと思います。
おそらくは各関数の中で指定している「セル番地」「文字」などに想定外の値が指定されているため、途中または最終的な計算が成り立たないのではないかと。

FIND は探している文字が見つからない場合に #VALUE! を出力するよう...続きを読む

Qメモ型フィールドの文字列の置換と改行の入れ方について

メモ型データ内にあるデータの中から、ある特定の文字を検索して、それを所定の文字に置換すると共に、改行をするという処理をフォームのコマンドボタンのクリックイベントに割り当てたいのですが、どのようにすればよいでしょうか?
 具体的にいうと、1のデータを、2のデータに置き換えたいということです。
 1.30 米,麦;40 ビデオ,テレビ
 2.【30】 米,麦
   【40】 ビデオ,テレビ

Aベストアンサー

非連結のテキストボックス<テキスト0>に元の文があれば、コマンドボタン<コマンド2>で<テキスト0>を書き換えます。

質問の改行の位置らしき『;』や数字と文字を分けるスペースが全角か半角かはっきりしないので、下記では最初に半角に置き換えて判定しています。参考にして下さい。理屈では何行にでもなります。

Private Sub コマンド2_Click()
  Dim moji As String
  Dim potLF As Integer '改行を行う文字の位置
  Dim potSpc As Integer '数字と文字の区分け位置
  Dim elm As String '1行分の文字
  Dim mojiWork As String 'ワーク変数

  moji = テキスト0
  moji = Replace(moji, ";", ";", , , vbTextCompare)
  moji = moji & ";"
  potLF = InStr(moji, ";")
  While potLF > 0
    elm = Left(moji, potLF - 1)
    potSpc = InStr(Replace(elm, " ", " ", , , vbTextCompare), " ")
    '文字の整形
    elm = "【" & Left(elm, potSpc - 1) & "】 " & Right(elm, Len(elm) - potSpc)
    mojiWork = mojiWork & elm & vbCrLf

    moji = Right(moji, Len(moji) - potLF)
    potLF = InStr(moji, ";")
  Wend
  テキスト0 = Left(mojiWork, Len(mojiWork) - 2)
End Sub

非連結のテキストボックス<テキスト0>に元の文があれば、コマンドボタン<コマンド2>で<テキスト0>を書き換えます。

質問の改行の位置らしき『;』や数字と文字を分けるスペースが全角か半角かはっきりしないので、下記では最初に半角に置き換えて判定しています。参考にして下さい。理屈では何行にでもなります。

Private Sub コマンド2_Click()
  Dim moji As String
  Dim potLF As Integer '改行を行う文字の位置
  Dim potSpc As Integer '数字と文字の区分け位置
  ...続きを読む

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

EXCELのデータを、ACCESSにインポートしようとして、
エラーが発生しました。
EXCELのデータの中に、改行している列があるので、
そのためかと思われるのですが…。予想は当たっておりますでしょうか?

また、その為にインポートできないとすると、そのデータは、
(1)列を複数つくって、それぞれに入力する
(2)一つのセルに、コンマなどで区切って入力する
のどちらかになるかと思うんですが、
(2)の場合、例えば、コンマで区切った箇所を
ACCESSのフォームで改行して表示するような方法はあるのでしょうか?

初心者ですので、VBAというのはあまりよく分かりません。
どなたか教えていただけると嬉しいです。

Aベストアンサー

インポートエラーと言うテーブルは出来ていませんか?
それを見ると何行目でエラーがあがったのか、わかりますので
エラー行のExcel側のデータを確認してみて下さい。

例えば 数値のセルに余分なスペースが入っているとか
数字に見えるけど文字列として入っている値があるとか
Access側のフィールドサイズよりも長い文字列が入っている
というような理由でもインポートエラーは発生します。

http://www.microsoft.com/japan/technet/archive/columns/suo/accessimport.mspx?mfr=true

http://www.nurs.or.jp/~ppoy/access/access/acEt025.html


人気Q&Aランキング

おすすめ情報