我正在尝试使用 VBA 脚本将我的数据库导出为 .dbf,但 dbf 要求数据库具有特定的列大小值。
当我将列保留在 Access 中时,我收到一条错误消息
field will not fit in record
如何单独设置每列的列大小?最好在生成表时,这样我就不必每次生成带有查询的新表时手动进行
我在哪里设置它们?(在查询中还是在 SQL 中?)
提前致谢!
编辑:
我已经确保它是给我错误的字段大小值。我通过在设计视图中打开表格手动更改了所有字段大小值。
所以现在我的问题的第二部分变得更加重要。是否可以在生成表格时设置字段大小。
编辑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
我能做些什么来使这张桌子正常工作吗?