VBA スクリプトを使用してデータベースを .dbf としてエクスポートしようとしていますが、dbf では、データベースの列サイズに特定の値が必要です。
Access にある列をそのままにしておくと、次のエラーが表示されます。
field will not fit in record
各列の列サイズを個別に設定するにはどうすればよいですか? できればテーブルの生成中に、クエリを使用して新しいテーブルを生成するたびに手動で行う必要はありません
どこに設定すればよいですか?(クエリまたは SQL で?)
前もって感謝します!
編集:
エラーが発生しているフィールドサイズの値であることを確認しました。デザイン ビューでテーブルを開いて、すべてのフィールド サイズの値を手動で変更しました。
ですから、私の質問の 2 番目の部分がより重要になってきています。テーブルの生成中にフィールド サイズを設定できるかどうか。
編集2:
現在、クエリで SQL を使用して、次のようにテーブルを作成しています。
SELECT * INTO DB_Total
FROM Tags_AI_DB;
イニシャルDB_Total
が作成された後、いくつかのInsert into
クエリを使用して他の行を追加します。
INSERT INTO DB_TOTAL
SELECT a.*
FROM Tags_STS_ENA_DB AS a
LEFT JOIN DB_TOTAL AS b
ON a.NAME = b.NAME
WHERE b.NAME IS NULL;
DB_Total
クエリで生成中にテーブルに列の値を設定した場合、クエリを使用してさらに行を挿入Select into
した後も、それらの値は保持されますか?Insert Into
編集3:
私は(あなたのいくつかの提案と同僚からのいくつかの指摘の後、最初にテーブルを作成し、その後このテーブルをクエリで更新する方がよいと判断しました。
ただし、Access で行き止まりに陥ったようです。これは私が使用しているコードです。
CREATE TABLE DB_Total ("NAME" char(79),"TYPE" char(16), "UNIT" char(31),
"ADDR" char(254), "RAW_ZERO" char(11), "RAW_FULL" char(11), "ENG_ZERO" char(11),
"ENG_FULL" char(11), "ENG_UNIT" char(8), "FORMAT" char(11), "COMMENT" char(254),
"EDITCODE" char(8), "LINKED" char(1), "OID" char(10), "REF1" char(11), "REF2" char(11),
"DEADBAND" char(11), "CUSTOM" char(128), "TAGGENLINK" char(32), "CLUSTER" char(16),
"EQUIP" char(254), "ITEM" char(63), "HISTORIAN" char(6),
"CUSTOM1" char(254), "CUSTOM2" char(254), "CUSTOM3" char(254), "CUSTOM4" char(254),
"CUSTOM5" char(254), "CUSTOM6" char(254), "CUSTOM7" char(254), "CUSTOM8" char(254))
これらは、使用しているアプリケーションで受け入れられる DBF ファイルを作成するために必要なすべての列です。
これが次のエラーを生成したときの私の悲しみを理解するでしょう:
Record is too large
このテーブルを機能させるためにできることはありますか?