• ベストアンサー

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

Win7 Access2013 すみません、どなた様がご存知の方がおられましたらお願いします。 ラベル印字の時、コントロールが[会社名]の「書式設定」に「@ "御中"」としています。 この[会社名]には個人名もあることから"様"の文字が含まれている場合があります。 [会社名]に"様"が含まれる場合"御中"は印字しない設定にするのには どのようにすればよいか、お教えいただきたいと思います。 よろしくお願いいたします。

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

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

>もう少し簡単な方法があれば... >お教えいただきたいのですが? 「クエリを作るのが難しい」という場合は、テキストボックスの「コントロールソース」を「会社名」から「=IIf(Right$([会社名],1)="様" Or Right$([会社名],2)="御中",[会社名],[会社名] & " 御中")」に書き換えて、書式設定を「何も付けない("@"のみ)状態」に書き換えて下さい。 これでも「同様の結果」になります。

southbreeze
質問者

お礼

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

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

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

southbreeze
質問者

お礼

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

回答No.2

追記。 先ほどの回答の「元のテーブルから抽出し、様があれば、様を取り除いた結果を返すクエリ」を使い「様を削除して、書式設定で御中を付ける」では、元々の敬称が「様」になっている物も「御中」になってしまうので「質問者さんがやりたかった状態」にはなりません。 ですので「様や御中があればそのまま、無ければ御中を付ける」というクエリを作成し、そのクエリの結果を「書式指定せずにそのまま印刷」した方が良いでしょう。 SELECT IIf(Or(Right([会社名],1)="様",Right([会社名],2)="御中"),[会社名],[会社名] & " 御中") AS 修正会社名, 元テーブル.* FROM 元テーブル; 上記のクエリをレコードソースに指定して、「会社名」の参照フィールドを「修正会社名」に変更して下さい。 なお、この方法でも「王子様(おうじさま)」や「王様(きんぐ)」と言う人名には対応できません。やはり「敬称フィールドを別に持たないと問題は解決しない」です。

回答No.1

「元のテーブルから抽出し、様があれば、様を取り除いた結果を返すクエリ」を作成して、そのクエリをレコードソースに指定して下さい。 なお「個人名」で「王子様(おうじさま)」「真姫様(まひよ)」「王様(きんぐ)」と言う名前の人物が実在しますので、注意が必要です。 このような人名があると「王子様 様」と印字すべきなのに「王子 御中」になったり「真姫様 様」が「真姫 御中」になったりしてしまいます。 「名前の最後の漢字が『様』の人は居ない、と言う場合だけ、様を削る事が可能」だという事に留意して下さい。 本来であれば「元データに、敬称欄を設け、そこに『様』や『御中』などと記載しておき、この敬称欄が空欄の場合は『御中』を付加する」という処理にするべきです。 「会社名」などの「送付先名称」に「敬称を含めてしまう事が間違い」なのです。

southbreeze
質問者

お礼

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

関連するQ&A