みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

accessで強制改行文字みたいのはあるの?

フィールドに「メイン/大根 人参 きぬさや/副菜/ほうれん草 しらす」
と あるとして、レポートで出力するときには

メイン
 大根 人参 きぬさや
副菜
 ほうれん草 しらす

と 出したいのですがどうすればいいのでしょうか?
(ちなみに、この入力方法は変えられないとして)
(桐のデータなんです)

ついでといっちゃなんなんですが、クエリで式を作って、プロパティで書式を「標準」にしたのですが、カンマがつかないのはどうしてなんでしょう?

投稿日時 - 2001-09-06 11:01:44

QNo.130755

困ってます

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

Access2000からの新機能ですがReplace関数を使えば出来そうですね。

下記と同様にコントロールソースに
=Replace([元のフィールド名],"/",chr(13) & chr(10))
として下さい。
chr(13) & chr(10)で改行コードに置き換えています。

投稿日時 - 2001-09-06 17:14:15

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

すみません、誤植があったので再投稿です。


VBA内で書く場合は、
元のフィールドを一文字ずつチェックして、スラッシュをvbCRLFに置き換えれば出来ますよ。

Function RepMoji(strMoji As String) As String

Dim intCNT As String

RepMoji = ""

For intCNT = 1 To Len(strMoji)
if Mid$(strMoji,intCNT,1)="/" Then
RepMoji=RepMoji & vbCRLF
Else
RepMoji=RepMoji & Mid$(strMoji,intCNT,1)
End If
Next

End Function

これで新しいコントロールボックスのコントロールソ
ースに「=RepMoji(元のフィールド名)」とすれば、表示されるはずです。
元のフィールドは非表示にして置いておかないとダメ
ですが。

書式の件はわかりませんが常にカンマ編集したいので
したら
Format(式,"#,##0.00;-#,##0.00;0.00;''")
としてみては?

投稿日時 - 2001-09-06 14:29:42

補足

早速の回答ありがとうございます。
ちなみにVBAを使わないでやる方法はあるのでしょうか?

投稿日時 - 2001-09-06 16:44:14

ANo.1

VBA内で書く場合は、
元のフィールドを一文字ずつチェックして、スラッシュをvbCRLFに置き換えれば出来ますよ。

Function RepMoji(strMoji As Strin) As String

Dim intCNT As String

RepMoji = ""

For intCNT = 1 To Len(strMoji)
if Mid$(strMoji,intCNT,1)="/" Then
RepMoji=RepMoji & vbCRLF
Else
RepMoji=RepMoji & Mid$(strMoji,intCNT,1)
End If
Next

End Function

これで新しいコントロールボックスのコントロールソ
ースに「=RepMoji(元のフィールド名)」
とすれば、表示されるはずです。

元のフィールドは非表示にして置いておかないとダメ
ですが。


書式の件はわかりませんが常にカンマ編集したいので
したら
Format(式,"#,##0.00;-#,##0.00","0.00","")
としてみては?

投稿日時 - 2001-09-06 14:26:43

あなたにオススメの質問