我正在使用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/