首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Microsoft Access DoCmd.TransferText附加列

Microsoft Access DoCmd.TransferText附加列
EN

Stack Overflow用户
提问于 2011-09-04 23:18:36
回答 3查看 7.6K关注 0票数 3

我正在使用DoCmd.TransferText从.cvs文件导入数据。我需要向导入的信息添加另一个包含当前日期的列。有什么简单的方法可以做到这一点吗?

EN

回答 3

Stack Overflow用户

发布于 2011-09-05 05:49:49

您可以使用以下几种方法:

通过VBA而不是使用TransferText来插入文件和create -Parse语句。

-If表已经存在,您正在将数据附加到现有表中,并且有一个自动编号ID字段或其他方法来区分新数据和旧数据,然后您可以在通过UPDATE语句导入后添加当前日期:

代码语言:javascript
运行
复制
Dim latestID As Long

latestID = DMax("yourIDField", "yourTable")
DoCmd.TransferText acImportDelim, , "yourTable", "c:\import.csv", True

DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE yourTable SET importedDate = #" & Date & "# WHERE yourIDField > " & latestID
DoCmd.SetWarnings True

-If每次导入时都会创建一个新表,您可以使用ALTER语句添加列,然后使用UPDATE语句输入当前日期:

代码语言:javascript
运行
复制
DoCmd.TransferText acImportDelim, , "yourTable", "c:\import.csv"

DoCmd.SetWarnings False

DoCmd.RunSQL "ALTER TABLE yourTable ADD COLUMN importDate DATE"
DoCmd.RunSQL "UPDATE yourTable SET importDate = #" & Date & "#"

DoCmd.SetWarnings True
票数 3
EN

Stack Overflow用户

发布于 2015-02-08 17:56:33

您可以使用schema.ini代替transfer text方法。

请查看以下博客,其中描述了有关schema.ini https://officeaccelerators.wordpress.com/2015/02/08/exporting-text-file-from-access/的更多信息

代码语言:javascript
运行
复制
Set cn = CreateObject("ADODB.Connection")
Set cn = CurrentProject.Connection
sSQL = "insert into TanleName(Field1,Field2,Date) select tab1.Field1,tab1.Field2,date() from "
sSQL = sSQL & "[text;database=FilePath\;HDR=Yes].[Test.csv] as Tab1"
cn.Execute sSQL
票数 1
EN

Stack Overflow用户

发布于 2011-09-05 08:29:43

另一种方法是为.csv文件创建一个链接表(在创建新的链接表时,从打开对话框弹出表单中选择正确的文件类型),并创建一个附加查询,其中附加字段将Date()Now()作为默认值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7300167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档