MSAccessの「レコードが大きすぎる」エラーに対処する方法

今すぐ共有:

この記事では、MSAccessの「レコードが大きすぎます」というエラーに対処するためのソリューションを提供します。

Accessデータベースに一見小さなファイルをインポートしようとした際に、思ったほど小さくないはずのファイルが実際には大きく、そのことに気づいて困った経験があるかもしれません。「レコードが大きすぎます」という警告(エラー3047)が表示され、イライラさせられることもあるでしょう。ファイルサイズは実際には非常に小さいはずなので、この警告は予想外かもしれません。このエラーに対処するには、まずエラーの原因を理解する必要があります。そこで、まずはそこから見ていきましょう。 レコードの処理がMSAccessのエラーメッセージが大きすぎる

エラーの背後にある原因

多くのAccessユーザーが気付いていないのは、Accessレコードに制限があり、「実際に使用可能なスペース」に2000文字を超えないように制限していることです。 つまり、ユーザーには4000バイトのUnicodeしか提供されていないということです。これは、超えるのが難しい種類の制限です。 この制限を超える時間の多くは、純粋に意図的ではなく、気付かないユーザーに対処すべき別の複雑なエラーを残します。

このエラーの背後にある原因に先んじて、特定の問題に対する可能な解決策を理解しようとします。

エラーへの対処

このエラーを目撃したときに利用できる一般的な修正のいくつかを以下に説明します。

  1. メモフィールドテーブルを再定義してみてください この問題に対する最も一般的な解決策の一つは、テーブルを最初から再定義することです。これには、古くて不要なフィールドを削除するだけでなく、いくつかの新しいフィールドを追加することも含まれます。
  2. メモフィールドを活用する –テキストタイプのフィールドではなく、メモタイプのフィールドを使用して、エラー3047の処理を試すことができます。 フィールドタイププロパティの値を12に設定することで、フィールドタイプをメモに設定できます。10の場合は、テキストフィールドが再び表示されます。 メモフィールドの場合に指定された制限を超えてしまうと、VisualBasicはこれらのフィールドをデータベースに配置するために別のページを利用します。
  3. DoCmd.TransferSpreadSheetメソッドを利用する – MS Accessの2016年版によると、各テーブルの制限は4000レコードに設定されており、合計サイズは2GBです。 したがって、この制限を超えるテーブルを作成することになった場合は、このエラーに対処する必要があります。

回避方法

とは別に アクセス修正 上記のエラーに対処するためのツールまたは方法として、Excelスプレッドシートを使用してテーブルにリンクすることを含む回避策を利用することもできます。 これにより、4000を超えるレコードを保存し、必要に応じていつでもエラーなしでExcelにエクスポートできるクエリを作成できます。

ただし、ここで覚えておくべき重要なことは、大量のクエリをエクスポートするときにVBAを使用していることを確認することです。

著者紹介:

ビビアンスティーブンスはのデータ復旧の専門家です DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 SQL Server 修理 と優れた回復ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。