2009-04-03 6 views
0

MS Accessには、入力可能なテキストファイルインポートウィザードがあります。 (ファイル - >外部データの取得 - >インポート)残念ながら、テキストファイル(フィールド)は、入力ファイル内の実際のデータに関係なく、常に255文字のサイズでインポートされます。MS Access:テキスト列を、その中に格納されているデータの適切なサイズに自動的に縮小する方法はありますか?

SELECT Max(Len(_column_)) FROM _data_」のクエリを手動で実行することなく、これらの255文字のテキスト列を適切なサイズに縮小するにはどうすればよいですか?

私はすでに解決策を持っており、私はそれを下に掲載します。私は、実際後にインポートしたテーブルをスキャンText列で見つかった実際の最小サイズと最大サイズを報告し、あなたが列を変更することができますツールを作成しました

答えて

1

を一度サイズ:

http://www.glump.net/software/microsoft_access_table_optimizer

このツールは、MS Accessのインポートウィザードには影響しません。したがって、テキスト値を持つ膨大な数のレコードまたは列をインポートする場合、私のツールを実行できる場所に達する前に、スペースの問題にぶつかることがあります。 YMMV。

このツールは、1)指定されたテーブルのすべての列と最小値と最大値のレポートを作成し、2)レポート表を編集した後、指定した新しいサイズで列のサイズを変更するVBAコードのモジュールです。

2

これを行う理由はありますか?フィールドサイズを小さくすると、ファイルがディスク上に占めるスペースの量ではなく、フィールドが格納できるテキストの量が減少します。

+0

フィールドのいずれかが索引付けされていると、大きな違いが生じる可能性があります。私は通常、ステージングテーブルでインポートを行い、その後実際のテーブルに追加するので、このようなことに悩まされる必要はありません。 –

+0

うーん...あなたはまだステージング表の後にターゲット表の列を作るためにサイズを知る必要があり、未知のソースからデータをインポートしている場合。あなたのステージングテーブルがvarchar(255)、varchar(255)、varchar(255)...それほど役に立ちません。 –

関連する問題