关闭Access中的自动数据类型标识



如果之前有人提出过这个问题,请提前道歉,但我在任何地方都找不到答案。

有人知道是否有一种方法可以关闭或理想地将自动数据类型标识设置为"0"吗;短文本"?我相信MS Access会查看前24行,并为表应用数据类型。在我的情况下,第一列数据的前24个(实际上是1000个(可能是数字,但我需要是短文本,因为有些数字是字母数字。

所以我首先将.CSV文件导入(链接(到一个临时表,然后通过ODBC连接将数据传递到另一个表。那么,有没有一种方法可以确保在临时表";tblrsSLPARENTTEMP";数据类型将始终设置为"0";短文本"?

Set db = CurrentDb
On Error Resume Next: db.TableDefs.Delete "tblrsSLPARENTTEMP": On Error GoTo 0
db.TableDefs.Refresh
DoCmd.TransferText TransferType:=acLinkDelim, TableName:="tblrsSLPARENTTEMP", _
FileName:=strPathFile, HasFieldNames:=True
db.TableDefs.Refresh

注:

  1. .CSV文件中的列可能会更改位置,因此A列中的一天数据可能在第二天的B列中
  2. 我需要知道列名,所以HasFieldNames:=False不是一个选项

导入要访问的数据后,可以通过类似的名称更改字段类型

CurrentDb.Execute "ALTER TABLE YourTableName ALTER COLUMN YourColumnName VARCHAR(255);" ,dbFailOnError

将YourTableName更改为您的表名,依此类推。

对每个需要更改的字段执行此行。

不确定这是否对任何人有用,但在Access中找不到解决方案,所以我所做的工作是:

  1. 在Excel中创建VBA,在CSV文件中插入50行字母数字文本并保存
  2. 导入Access数据库

使用短文本数据类型创建链接数据库。不是最干净的解决方案,但它有效:(

最新更新