我正在从excel上传一个表,一些垃圾记录随之而来。具体来说,在我需要的所有数据通过之后的第一个字段中,我得到一个包含短语"(随机数)(随机数)记录的记录。"我想删除这句话之后的所有记录。我现在要做的是使用像DoCmd.Seek或Findfirst这样的方法找到此记录的位置,但我不确定这是否是正确的方法。一旦我找到了这个位置,我就会做DoCmd.RunSQL "Delete from table where field in (select bottom (total records - position of phrase "records came through") field from tblCopyUtlwos);", False
这样的事情但是我不确定如何找到该字段在该字段中的位置。任何有关找到位置的提示,或更好的方法来删除字段中的短语下面的记录将不胜感激!谢谢!
答案 0 :(得分:0)
Excel没有表格,它有电子表格。也许这是挑剔,但当人们将Excel称为“数据库”时,这是我的一个宠儿。
对于手头的问题,您可以使用主键导入数据。把它粘在一个叫做PKey的领域。这将允许您查找要删除的记录的位置。
然后,做这样的事情:
Dim db as Database
Dim rec as Recordset
Dim MySQL as String
Set db = CurrentDB
'Find the PKey of the record you want to search for
Set rec = db.OpenRecordset ("SELECT PKey FROM tblCopyUtlwos WHERE MyField LIKE '*Records Came Through*'")
'Now you have the Primary Key # where that phrase appears
'Delete all records where the Primary Key is greater than or equal to that Primary Key #
MySQL = "DELETE FROM tblCopyUtlwos WHERE PKey >= " & rec(0) & ""
DoCmd.RunSQL MySQL
这是所有“航空代码”并且未经过测试,您必须对表名/字段名称不同进行明显的编辑,但它应该让您在正确的轨道上。