現象
Microsoft Access または Microsoft Excel のデータ ソースで OLEDB を使用して Microsoft Wordで差し込み印刷を実行すると、日付、電話番号、および通貨フィールドの差し込み印刷結果が正しくありません。 例えば:
[日付] フィールドは次の形式で表示されます。
1995-10-22 00:00:00
Access データ ソースの [電話番号] フィールドは、次の形式で表示されます。
-7081234567.00
[通貨] フィールドは次の形式で表示されます。
12.00
-または-
12000
原因
この動作は、データが Access または Excel でネイティブで保存された形式で表示されるために発生します。 マージされたデータの書式設定を行うには、メイン ドキュメント内のマージ フィールドを書式設定する必要があります。 データ ソース内のデータを書式設定する場合、データを メイン ドキュメントにマージしても書式設定は保持されません。
回避策
この問題を回避するには、以下のいずれかの方法を使用します。
Microsoft Word
スイッチを使用して、MERGEFIELD の結果を書式設定します。 これを行うには、次のいずれかの方法を使用します。
注 Microsoft Wordでフィールド コードを表示するには、Alt キーを押しながら F9 キーを押します。
方法 1: 数値画像スイッチを使用する
次のいずれかの例のような数値画像スイッチ (\#) を含めます
。
通貨フィールドで、次のような数値画像スイッチを使用します。
{MERGEFIELD number \# $#####,0.0}注{MERGEFIELD number \# $#####,0.0} 文字列は、Microsoft SQL Server 6 でも機能します。
電話フィールドで、次のような数値画像スイッチを使用します。
{MERGEFIELD phone \# ###'-'###'-'#####}注 マージ フィールド内のハイフンは、単一引用符で囲まれています。
方法 2: Date-Timeピクチャ スイッチを使用する
[日付] フィールドに日付と時刻の画像スイッチ (\@) を含めて、Date フィールドを次のように表示します。
{MERGEFIELD date \@ "MMMM d, yyyy"}注 画像スイッチでは大文字と小文字が区別されます。 さらに、図の文字列を引用符で囲む必要があります。
Microsoft Access で
Microsoft Access でクエリを作成し、Word差し込み印刷でクエリを使用します。 Microsoft Access クエリで、FORMAT() 関数を使用して、Microsoft Wordでマージするデータを書式設定します。
詳細情報
既定では、Wordは OLEDB を使用して、差し込み印刷を実行するときにデータ ソースに接続します。 プログラミング コードを使用してデータにアクセスすることで、Wordに動的データ交換 (DDE) を強制的に使用できます。
メモMicrosoft Word でのフィールド スイッチの使用の詳細については、 の [Microsoft Word ヘルプ
] をクリックしてください。
[ヘルプ] メニューで、Office アシスタントまたは応答ウィザードに「General スイッチ」と入力し、[検索] をクリックして返されたトピックを表示します。