[ACC2000] エクスポートしたクエリ式が 255 文字で切り詰められる

難易度 : 中。基本的なマクロ、コーディング能力、相互運用性の経験が必要です。


現象

式の結果が 255 文字を超えるクエリをエクスポートすると、エクスポートしたファイル内でその式の結果が切り詰められます。

原因

Microsoft Access では、式はテキスト型のフィールドとして評価されます。テキスト型のフィールドの最大長は 255 文字なので、クエリをエクスポートすると、Microsoft Access によって 255 文字に切り詰められます。

解決方法

追加クエリを使用して、メモ型フィールドのあるテーブルにデータを追加します。次の例では、255 文字を超えるクエリ式の結果を格納するテーブルを作成します。

  1. Microsoft Access を起動し、サンプル データベース Northwind.mdb を開きます。
  2. 次のテーブルをデザイン ビューで作成します。

    テーブル : EmpNotes
    --------------------
    フィールド名 : EmpName
    データ型 : テキスト型
    フィールド名 : Comments
    データ型 : メモ型
  3. EmpNotes テーブルを保存して閉じます。主キーの設定は不要です。
  4. 次のクエリを、社員テーブルに基づいてデザイン ビューで作成します。2 番目の Comments という名前の式の結果は、255 文字を超える長さのフィールドとなります。

    クエリ : MemoExpr
    ------------------------------------------------
    種類 : 選択クエリ

    フィールド : 氏名
    テーブル : 社員
    フィールド : Comments: [プロフィール] & ": " & [プロフィール] & ": " & [プロフィール]
    テーブル : 社員
  5. [クエリ] メニューの [追加] をクリックします。
  6. [追加] ダイアログ ボックスの [テーブル名] ボックスの一覧の [EmpNotes] をクリックし、[OK] をクリックします。
  7. QBE グリッドの "氏名" フィールドの [レコードの追加] 行の一覧で [EmpName] をクリックします。Comments フィールドの [レコードの追加] 行は、クエリのフィールド名とテーブルのフィールド名が同じであるため、自動的に入力されます。
  8. [クエリ] メニューの [実行] をクリックします。行の追加の確認を求めるメッセージが表示されたら [はい] をクリックします。
  9. [MemoExpr] クエリを閉じます。保存する必要はありません。
  10. EmpNotes テーブルを任意の形式でエクスポートします。Comments フィールドの全長が保持されています。

詳細

問題の再現手順

  1. Microsoft Access を起動し、サンプル データベース Northwind.mdb を開きます。
  2. 社員テーブルに基づいて、次のクエリをデザイン ビューで作成します。

    クエリ : qryTruncate
    -----------------------------------------------
    種類 : 選択クエリ

    フィールド : 氏名
    テーブル : 社員
    フィールド : Comment Length: Len([Comments])
    テーブル : 社員
    フィールド : Comments: [プロフィール] & ": " & [プロフィール] & ": " & [プロフィール]
    テーブル : 社員
  3. qryTruncate クエリを保存して閉じます。
  4. [データベース] ウィンドウで qryTruncate クエリを選択します。
  5. [ファイル] メニューの [エクスポート] をクリックします。
  6. ['qryTruncate' クエリをエクスポート] ダイアログ ボックスで [ファイルの種類] ボックスの一覧の [テキスト ファイル] をクリックします。[保存先] ボックスに表示される保存先のフォルダをメモし、[保存] をクリックします。
  7. テキスト エクスポート ウィザードが表示されたら、[完了] をクリックします。
  8. メモ帳などのテキスト エディタを使用して、qryTruncate.txt ファイルを開きます。Comment Length フィールドが 255 文字を超えるレコードでは、Comments フィールドの末尾が切り詰められていることに注目してください。この現象は、田中 和明、秋山 秀樹、および東海 登などのレコードで発生します。

関連情報

データをテキスト ファイルにエクスポートする方法の詳細については、[ヘルプ] メニューの [Microsoft Access ヘルプ] をクリックします。次に、Office アシスタントまたはアンサー ウィザードでデータシートを区切り記号付きテキスト ファイルまたは固定長テキスト ファイルにエクスポートすると入力します。次に、[検索] をクリックしてトピックを参照してください。

プロパティ

文書番号:207668 - 最終更新日: 2005/10/19 - リビジョン: 1

フィードバック