ADODB在记录集上找到

时间:2015-10-09 14:00:06

标签: vba excel-vba adodb recordset excel

在Excel 2010中,我正在编写一个将大文本文件加载到记录集中的vb应用程序。 文本文件是一个日志文件,用空格分隔,列标题没有任何第一行。 我可以使用适当的schema.ini文件将文件加载到记录集中。 该文件记录用户登录数据库。

用户帐户位于文本文件的第10列(记录集中的第9列)。 我想知道给定用户的最后登录日期是什么。

这是我使用的代码,给我3001错误。我试图获取名为psymonds的用户帐户的最后一条记录。

' LOAD login_history.txt file to a recordset called rs
strPath = ThisWorkbook.Path & "\"

Set cn = CreateObject("ADODB.Connection")
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";Extended Properties=""text;HDR=No;FMT=Delimited"";"
cn.Open strcon
strSQL = "SELECT * FROM login_history.txt;"

Set rs = CreateObject("adodb.recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open strSQL, cn


rs.MoveFirst
rs.Find "rs.Fields(9) = '" & "psymonds" & "'", , 1, 2

1 个答案:

答案 0 :(得分:2)

如果没有标题,记录集字段将命名为F1,F2等,因此您可以使用:

rs.Find "[F10] = 'psymonds'", , 1, 2