• 締切済み

アクセスのレポート(葉書印刷)

アクセス2007を使っています。 葉書ウィザード(縦書き)で「宛先住所データに漢数字を使う」にチェックを入れると、住所データに半角の数字を入力しても、葉書に(縦書きで)印刷すると、漢数字に変換されます。また、「ニューヨーク」などの「-」も正しく縦棒に印刷されます。 これを、ウィザードを使わずに実現したいのですが、プロパティシートで「縦書き」を「はい」にしても「-」は横書きの時のように横棒になりますし、半角数字は90度回転しています。 どのようにしたらいいのでしょうか。ご教示よろしくお願いします。

みんなの回答

回答No.6

> せっっかくご教示いただきましたが、「標準モジュール」とはなんぞや、からちんぷんかんぷんです。 モジュールというのはVBA(Vsiual Basic For Application)コードで記述するマクロの一種で、Accessの標準にはない機能を作成することができます。モジュールにもいろいろ種類がありますが、「標準モジュール」とはフォームやレポートなどのいろいろな場所から呼び出して利用することができるモジュールです。 「標準モジュール」の作成法の手順を説明します。 リボンの「作成」タグの「その他」グループの「標準モジュール」ボタンをクリックします。(下図参照) 「Microsoft Vsiual Basic」のウィンドウが開きますので、そこに前回提示した関数(VBAコード)をコピーして貼り付けます。 メニューの[デバッグ]-[*****のコンパイル]をクリックします。 メニューの[ファイル]-[上書き保存]で保存します。モジュール名は「Module1」のままでOKです。 以上です。これで Num2KanjiNum 関数をフォームやレポートから利用できるようになります。

31041214
質問者

お礼

重ねてのご教授ありがとうございます。お教えの通りやってみましたが、うまくいきません。 このモジュールを作成するのは、当該レポートのデザインビューで、算用数字を漢数字に変換したいというテキストボックスをクリックした状態で「作成」→「標準モジュール」と進むのでしょうか。それを保存すればいいのでしょうか。 これでやったのですが、うまくいきません。まさか、アクセスを再起動が必要ではないですよね。 あるいは、デザインビューで、どのテクストボックスも指定しない状態で、お教えのモジュールを作成するのでしょうか。 すみませんが、よろしくおつきあいいただけませんか。

すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

>ご教示いただいたのは、アクセスのデータを利用して、ワードで葉書印刷をする際の手法でしょうか? はい、そのつもりです。 データはアクセスに限らずエクセルでもワードの表でも同じです。 >すみません、私は、印刷もワードでしたいのです。 え、それでしたら目的通りでしょう。 私の回答があなたの目的に合っているように思います。 ワードの表からダイレクトに差し込み印刷は出来ませんよ。 ワードの「差込文書」タブの「はがき印刷」から「はがき宛名面印刷」ウィザードで作成した文書で差込印刷を実行することですよね? この時に指定する住所録は表形式のワード文書、エクセルのシートまたはブック、アクセスのデータベース等で作成したものを使います。 あなたの質問と私の回答に行き違いは無さそうです。

31041214
質問者

お礼

まことにすみません。 No.4のご教示に対する私のお礼「すみません、私は、印刷もワードでしたいのです。」は、「すみません、私は、印刷もアクセスでしたいのです。」の誤りでした。 大変な間違いをして、申し訳ありません。

すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>しかし、「該当のフィールドを右クリックして」の「該当のフィールド」の表示の仕方が分かりません。 Word 2007の「差し込み文書」タブに「結果のプレビュー」が有り、通常は差込データが表示される状態(「結果のプレビュー」がON)になっていますがOFFにするとフィールド名が表示されます。 あなたが作成した住所データのフィールドで漢数字に変換したいフィールド名を右クリックして「フィールドの編集」を選択します。(添付図では住所_2を右クリック) >テーブルのデザインビューで、該当のフィールドを右クリックするのでしょうか、それとも、レポートのデザインビューで、 アクセス2007のデータをWord 2007の差し込み文書で印刷する条件の回答です。 回答が質問に合っていなかったかも知れません。 私の勘違いでしたら無視してください。

31041214
質問者

お礼

重ねてのご教示ありがとうございます。 ご教示いただいたのは、アクセスのデータを利用して、ワードで葉書印刷をする際の手法でしょうか? すみません、私は、印刷もワードでしたいのです。もしそういうことでしたら、ゴメンナサイ、です。お気を悪くなさらないでください。

すると、全ての回答が全文表示されます。
回答No.3

下記の関数を標準モジュールに作成します。 '数字を漢数字に変換する関数 Public Function Num2KanjiNum(s As Variant) As String Dim i As Integer, c As String, p As Integer Const s1 = "0123456789-" Const s2 = "〇一二三四五六七八九ー"   If IsNull(s) Then Exit Function   Num2KanjiNum = s   For i = 1 To Len(s)     c = Mid$(s, i, 1)     p = InStr(1, s1, c, vbTextCompare)     If p > 0 Then       Mid$(Num2KanjiNum, i, 1) = Mid$(s2, p, 1)     End If   Next End Function 住所テキストボックスのプロパティを下記のように設定します。 コントロールソース =Num2KanjiNum([住所]) 縦書き はい 名前 txt住所 住所は、実際のフィールド名にしてください。

31041214
質問者

お礼

せっっかくご教示いただきましたが、「標準モジュール」とはなんぞや、からちんぷんかんぷんです。 還暦を過ぎた者にも根気よく教えようという仏心がおありなら、是非よろしくお願いしたいのですが…。 すみません。

すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>しかし、算用数字は漢数字にはなりません。 該当のフィールドを右クリックして「フィールドの編集」を開いて「フィールドオプション」で添付図のようにチェックを入れてください。

31041214
質問者

お礼

ご教示ありがとうございます。 しかし、「該当のフィールドを右クリックして」の「該当のフィールド」の表示の仕方が分かりません。 テーブルのデザインビューで、該当のフィールドを右クリックするのでしょうか、それとも、レポートのデザインビューで、該当のフィールドを表示させるテキストボックスを右クリックするのでしょうか。いずれを右クリックしても、「フィールドの編集」メニューは出てきません。 よろしくお願いします。

すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.1

全角文字の「ー」はハイフォン(長音)で「-」は全角のマイナスです。 ハイフォンとマイナスでは扱い方が異なると異なると思います。 フォントの形で判断しますが「ー」は左側の端が僅かに上がっていますのでハイフォンです。 しかし、「-」は直線になっていますので算術記号のマイナスです。 どちらがどうなるかをご自身で確認してください。

31041214
質問者

お礼

早速のご教示ありがとうございます。 「-」と「-」違いは分かりました。 しかし、算用数字は漢数字にはなりません。 引き続き、よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A