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

最佳答案

您可以使用几种方法:

-解析文件并通过VBA(而不是使用TransferText)创建INSERT语句。

-如果该表已经存在,则要将数据追加到现有表中,并且具有自动编号ID字段或其他方法来区分新数据与旧数据,然后可以在通过UPDATE语句导入后添加当前日期:

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


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

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

关于ms-access - Microsoft Access DoCmd.TransferText附加列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7300167/

10-10 19:00