我正在探索DoCmd.TransferText
是否会做我需要的选择,而且似乎不会。我需要插入数据(如果它不存在)并更新它(如果它存在)
我打算逐行读取文本文件:
Dim intFile As Integer
Dim strLine As String
intFile = FreeFile()
Open myFile For Input As #intFile
Line Input #intFile, strLine
Close #intFile
我猜每条线都是一条记录。它可能会以逗号分隔,并且某些字段将具有"
文本限定符,因为在字段本身中我将使用逗号
我的问题是如何读取逗号分隔的文本文件,该文件有时将double quotes
作为文本限定符添加到访问表中?
答案 0 :(得分:1)
我假设您的文本文件格式正确/分隔。因此,尝试录制宏,然后使用导入向导。 [导入向导可以通过命令行激活,并通过函数调用将所有必需的值传递给它。]然后将宏生成的代码复制/移动到您的方法中,提供您喜欢的任何变量(这是一个我以前用过的方法。
答案 1 :(得分:1)
我一直在关注您的相关问题,但我不确定您遇到麻烦的地方。看起来你正试图用这个文本文件导入完成两件事:
将这些步骤作为两个单独的操作来处理可能会更有成效,而不是试图将它们组合在一个操作中。
我以为你的第一步工作了。如果是这样,请将文本导入单独的表tblImport,然后使用该表来驱动对主表的更改。如果您担心由于重复导入然后删除tblImport中的记录导致的数据库膨胀,您可以使tblImport链接到外部数据库...以便将膨胀隔离到那个。
如果您想获得第2步的更详细帮助,我想您必须告诉我们如何识别主表中不存在哪些导入的记录,以及如何匹配更新的导入记录和主记录。也许您可以删除在tblImport中具有对应项的现有主记录,然后将所有tblImport附加到主表。