微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Access 中关闭自动数据类型识别

如何解决在 Access 中关闭自动数据类型识别

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

有谁知道是否有办法关闭或理想地将自动数据类型识别设置为“短文本”?我相信 MS Access 会查看前 24 行并为表应用数据类型。在我的例子中,第一列数据的前 24(实际上是 1000s)可能是一个数字,但我需要是短文本,因为一些数字是字母数字。

所以我首先将 .CSV 文件导入(链接)到临时表,然后通过 ODBC 连接将数据传递到另一个表。那么有没有办法确保临时表中的“tblRSSLPARENTTEMP”数据类型始终设置为“Short Text”?

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 DB。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。