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

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

解決済みの質問

ラベル印字の時「様」があれば「御中」は印字しない

Win7
Access2013
すみません、どなた様がご存知の方がおられましたらお願いします。

ラベル印字の時、コントロールが[会社名]の「書式設定」に「@ "御中"」としています。
この[会社名]には個人名もあることから"様"の文字が含まれている場合があります。

[会社名]に"様"が含まれる場合"御中"は印字しない設定にするのには

どのようにすればよいか、お教えいただきたいと思います。
よろしくお願いいたします。

投稿日時 - 2016-08-26 16:51:29

QNo.9220539

困ってます

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

>もう少し簡単な方法があれば...
>お教えいただきたいのですが?

「クエリを作るのが難しい」という場合は、テキストボックスの「コントロールソース」を「会社名」から「=IIf(Right$([会社名],1)="様" Or Right$([会社名],2)="御中",[会社名],[会社名] & " 御中")」に書き換えて、書式設定を「何も付けない("@"のみ)状態」に書き換えて下さい。

これでも「同様の結果」になります。

投稿日時 - 2016-08-26 17:46:16

お礼

chie様

ありがとうございました。3番目の方法で解決しました。
本当に、ありがとうございました。

投稿日時 - 2016-08-26 18:04:21

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

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

回答(4)

ANo.4

書式設定を使うのはお奨めましません。
初めから"御中"か"様"のどちらを付けるか別フィールド(例:[敬称])で設定しておきます。
ラベル用フォームで
[宛名] = [会社名] & [敬称]
として[会社名]でなく[宛名]を印字すればいいのでは?

投稿日時 - 2016-08-26 17:55:04

お礼

mshr1962様

ありがとうございました。

投稿日時 - 2016-08-26 18:09:52

ANo.2

追記。

先ほどの回答の「元のテーブルから抽出し、様があれば、様を取り除いた結果を返すクエリ」を使い「様を削除して、書式設定で御中を付ける」では、元々の敬称が「様」になっている物も「御中」になってしまうので「質問者さんがやりたかった状態」にはなりません。

ですので「様や御中があればそのまま、無ければ御中を付ける」というクエリを作成し、そのクエリの結果を「書式指定せずにそのまま印刷」した方が良いでしょう。

SELECT IIf(Or(Right([会社名],1)="様",Right([会社名],2)="御中"),[会社名],[会社名] & " 御中") AS 修正会社名, 元テーブル.*
FROM 元テーブル;

上記のクエリをレコードソースに指定して、「会社名」の参照フィールドを「修正会社名」に変更して下さい。

なお、この方法でも「王子様(おうじさま)」や「王様(きんぐ)」と言う人名には対応できません。やはり「敬称フィールドを別に持たないと問題は解決しない」です。

投稿日時 - 2016-08-26 17:30:47

ANo.1

「元のテーブルから抽出し、様があれば、様を取り除いた結果を返すクエリ」を作成して、そのクエリをレコードソースに指定して下さい。

なお「個人名」で「王子様(おうじさま)」「真姫様(まひよ)」「王様(きんぐ)」と言う名前の人物が実在しますので、注意が必要です。

このような人名があると「王子様 様」と印字すべきなのに「王子 御中」になったり「真姫様 様」が「真姫 御中」になったりしてしまいます。

「名前の最後の漢字が『様』の人は居ない、と言う場合だけ、様を削る事が可能」だという事に留意して下さい。

本来であれば「元データに、敬称欄を設け、そこに『様』や『御中』などと記載しておき、この敬称欄が空欄の場合は『御中』を付加する」という処理にするべきです。

「会社名」などの「送付先名称」に「敬称を含めてしまう事が間違い」なのです。

投稿日時 - 2016-08-26 17:13:18

お礼

chie65535様
早速の回答ありがとうございます。
もう少し簡単な方法があれば...
お教えいただきたいのですが?

投稿日時 - 2016-08-26 17:25:56

あなたにオススメの質問