• ベストアンサー

access2003レポートの文字列の連結について

access2003で宛名ラベルを作成しています。 レポートで氏名と敬称を連結して印刷をしたいのですが敬称のところが数値の1と印刷されます。 敬称はプルダウンメニューになっていて予めテーブルで設定された値を印刷させたいのです。ちなみにレポートはクエリから抽出しています。 テーブルの設定は数値型でコンボボックスで別のテーブルから様、先生などの値を選択できるようになっています。 うまく説明できませんが、レポート上で氏名と敬称のフィールドを連結しなければうまくいきます。 氏名と敬称を連結して表示させる方法を教えてください

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

  • ベストアンサー
noname#140971
noname#140971
回答No.1

住所録: ID__氏名__________敬称_ID 01__鈴木 一郎___________0 02__中村 主水___________1 敬称: ID__敬称 00__様 01__先生 クエリ1: ID__宛名 00__鈴木 一郎 様 01__中村 主水 先生 SELECT 敬称.ID, 住所録!氏名 & " " & 敬称!敬称 AS 宛名 FROM 敬称 INNER JOIN 住所録 ON 敬称.ID=住所録.敬称_ID; これで、レポートではクエリで生成した列[宛名]を利用できます。 ======================================================================== 01__鈴木 一郎___________0 02__中村 主水___________1 とクエリで列[宛名]を生成しないやり方を採用する場合は・・・。 [ID_______][氏名_________][敬称_ID___][=[氏名] & " " & ・・・] と、レポートに[宛名]表示用のテキストボックスを配置します。 =[氏名] & " " & DLookup("敬称", "敬称", "ID=" & [敬称_ID]) と、Access の DLookup関数を使うという手もあります。 [氏名」と[敬称_ID]をそのまま連結すると、[鈴木 一郎 0][中村 主水 1]となります。 が、このように翻訳して連結すれば目的は達成されます。 が、これは DLookup関数の処理速度を考えれば避けたい手法です。 どうしても、この手法を使いたければ ADO で参照関数を自作されたがいいです。 ======================================================================== クエリもDLookup関数も多用したくない場合は・・・。 SQL文=冒頭のクエリを<レポート!住所録!レコードソース>で生成する手もあります。

kiyo0077
質問者

お礼

いろいろ試してやってみました。 DLookUp関数を使うことになりました。 何とかなりましたので報告します。 ありがとうございました。

その他の回答 (1)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

>敬称のところが数値の1と印刷されます。 フォームのコンボボックスで敬称のIDを選択しているのですね それがレポートではテキストボックスになっているのでIDがそのまま表示されているのでしょう 解決方法は2つ 1)レポートのほうの敬称欄は非連結テキストボックスにして =Choose([敬称ID],"様","先生",・・・) 2)レポートのほうの敬称欄もコンボボックスに変えフォームと同じ設定にする (レポートでもコンボボックスは使えます、プルダウンボタンなんかは表示されません)

kiyo0077
質問者

お礼

ありがとうございます。 またいろいろ試してやってみます。

関連するQ&A

  • ACCESS 宛名ラベル(レポート)の連番の書式を設定したい

    ACCESS初心者です。 「符号」-「連番」順の住所一覧テーブルから、 クエリで「符号」別にわけ、「符号」別に分けたクエリから 「符号」別に宛名ラベルを作っています。(符号は10種類) 2000件ほどの連続番号を振っているので、連番のラベル表記を 『A-0001』のように4桁で統一したいのですが、 テーブルやクエリでは4桁で表示されるのに、 ラベルではうまく表示されません。(1ならA-1となってしまいます) フィールドは、符号と連番は別フィールドで、 連番の書式は、書式設定で4桁の0を入力して設定しています(『0000』) レポートを作成する際に、「符号」と「連番」を連結して 表示させています。 できれば、レポートの設定で上記を実現したいのですが、 どうすればいいのでしょうか? よろしくお願いしますm(_)m

  • Accessのレポートで同じレコードを連続表示

     アクセスの宛名ラベル印刷で、1ページを全て同じレコードが表示されるものを作りたいと思います。  以前同じ質問をさせて頂いた時に、住所テーブルと印刷枚数の数字の入ったテーブルをクエリーで・・・・という方法を教えていただきました。が、今回の元となるテーブルはキーはオートナンバー式ではなく、各住所に独自のコードが付けられています。なおこのテーブルは変更できません。  また、レポートの宛名ラベル作成ウィザードで1枚分のラベルを作成し、それを1ページ分コピーすることも考えていますが、かなり時間がかかりそうです。何か、効率の良い方法はないでしょうか。  よろしくお願いします。

  • ACCESSのレポートで

    ACCESSど初心者です。。皆様にいろいろ助けていただいておりますが、今回はレポートでラベル印字のところをテキストでやっていますが、1件目のデータは最初からテーブルに格納してあり、郵便番号をプロパティで定形どおりに設定しました。2件目からはエクセルでデータをインポートしたので宛名ラベルをレポートで作成し印刷プレビューで見てもー(ハイフン)が付いていますが、1番目は付いていません。どうしたらハイフンをつけられるでしょうか?よろしくお願いします。

  • アクセスのレポートで・・

    アクセスのデーターをラベル印刷するにあたって困っております。多分何か簡単な設定で解決できるのだと思って・・アドバイス頂けましたら幸いです。 まず、テーブル構成は ------------------------------- ID :オートナンバー 案件1:テキスト 案件2:テキスト 案件3:テキスト 案件4:テキスト 案件5:テキスト -------------------------------- となっており、案件1から5には文字が入力されております。(約20行のデーターを入力してます。) このテーブルを元に宛名ラベルウィザードで5列からなるレポートを完成させたのです。 レポートイメージは下記のような感じです。 -------------------------------- 案1 案2 案3 案4 案5 □  □  □  □  □ □  □  □  □  □ □  □  □  □  □ -------------------------------- そこで印刷した結果を見てびっくり。。 テーブルの案件1に入力された文字が”あいうえお”  〃   〃 2に 〃  〃   ”かきくけこ”  〃   〃 3に 〃  〃   ”さしすせそ”  〃   〃 4に 〃  〃   ”たちつてと”  〃   〃 5に 〃  〃   ”なにぬねの” とすると、レポート印刷では上記のレポートイメージのように1つ1つのラベルにテーブルのデーターが印字されるものと思ったら、1つのラベルに、”あいうえおかきく”というように自分のデーター”あいうえお”以外にも隣のデーターである”かきく”までも表示し印刷されてしまって困ってます。 ちなみに、そのレポートのコントロールソースを見てみると(=Trim([案件1] & [案件2] & [案件3] & [案件4] & [案件5])というようになっております。 どうしたら1つのラベルに1つのデーターのみを印字させることが出来ますでしょうか。

  • ACCESS レポート内の列作成方法について

    こんにちは、BOUNDARYです。 ACCESS2000を使っています。 フォームで宛名ラベルをしたいのですが、レポートで"宛名ラベルウィザード" のラベルの種類を選択する所で使っているラベルの製品番号がありません。 ですのでユーザー定義ラベルを作成したのですがクエリとの連携の仕方がよく わかりません。  で、ウィザードを使わずにレポートを作ろうと思い作成してみたのですが、 ラベルが縦一列のフォームになってしまいます。 列を指定する方法ってどうするのでしょうか? Windows2000 ACEESS2000使ってます。

  • アクセスのレポートに画像を表示したい

     アクセスのレポートで、1枚の紙に4つの帳票を印刷したいので、宛名ラベルウィザードを使用しました。  この帳票には画像も表示したいのですが、「選択可能なフィールド」には画像のフィールドが出てきませんでした。(基になるクエリには画像のフィールドがあります)  宛名ラベルには、画像は印刷できないのでしょうか?  他に、これを可能とする機能はないでしょうか?

  • Accessレポートに非連結のパラメータを非表示に

    いつもお世話になっています。 リポートのデザインに非連結のテーブルの内容を入れて 支所名、住所等を最終出力させたいと試行錯誤しています。 当然ながらパラメータが表示されてしまいます。 これをなんとか非表示する方法はないでしょうか。 本来ならテーブル、クエリでリレーションを設定するべきですが 事情によりできません。 プロパティの規定値の設定も事情により却下されました。。。 かなり無理な希望ですが、もし何かの解決法があればと思います。 よろしくお願いいたします。

  • Access2000レポートについて

    Access2000で担当者別顧客名簿を作成しています。担当者別なので顧客の重複があります。 クエリで抽出してレポートのラベル印刷をしたいのですが、顧客の重複している場合は、1ラベルだけ印刷したいのです。テーブルの削除はしてはいけないのです。できる方法ご存知の方お願いします。 また、顧客名の重複がある場合チェックが自動的に入る方法もありましたらお願いします。

  • Accessレポートのラベル作成について

    趣旨:A4に12件分同じ内容のラベルを印刷したい。(ラベルのサイズ等はレポートの“宛名ラベルウィザード”で専用のラベル用紙を予め設定してあります。) 出来ない理由:以前はリレーションシップを設定していなかったのと、他の方法がわからなかったというのもあり、クエリで毎回面倒臭いですが、12回コピー+貼付けの作業をして、ラベル印刷をしていたんです。現在はリレーションシップを設定した為、その方法は可能じゃなくなってしまいました?!しかもまだまだ応用が効かないので困っています。これって、プロシージャでプログラムを書かないと可能にはならなんですか?それでも大丈夫ですが、もう全くわかりません。どうすれば可能になるのか、アドバイスやヒント及び答えをご存知の方、是非ご回答くださいますようお願い申し上げます。わかりにくい説明で申し訳御座いませんが、宜しくお願い致します。 ちなみに・・・・ リレーションショップの設定状況↓ 3つのテーブルがあります。「“お客様(会社情報)”“お客様1(個人情報)”“お客様2(個人情報)”」 お客様から2つのテーブルを1対多でつなげています。↓ お客様(会社情報)→お客様1(個人情報) 〃          →お客様2(個人情報) というように設定してあります。

  • Access2003のフォームからレポートに変数を渡したいのです。

    Access2003のフォームからレポートに変数を渡したいのです。 フォームに「結果」という名前の非連結コンボボックスがあり、値集合ソースは、「"承認";"却下";"保留"」です。 フォームの印刷ボタンはクリック時のイベントに以下を設定しています。 DoCmd.OpenReport ("R_レポート名"), acViewPreview このレポートでテキストボックスに「結果」の内容を表示させたいと思います。 テキストボックスのコントロールソースに、「=[Forms]![F_フォーム名]![結果]」と入れてみましたがエラーになります。 フォームのコンボボックスの値をレポートで表示させるにはどうすれば良いのでしょうか。 ご教示ください。よろしくお願いいたします。

専門家に質問してみよう