ADODB 在记录集上查找
ADODB find on a recordset
在 Excel 2010 年,我正在编写一个 vb 应用程序,用于将大文本文件加载到记录集中。
文本文件是一个日志文件,用 space 分隔并且没有第一行 headers 列。
我可以使用适当的 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
如果没有headers,记录集字段将被命名为F1、F2等,所以您可以使用:
rs.Find "[F10] = 'psymonds'", , 1, 2
在 Excel 2010 年,我正在编写一个 vb 应用程序,用于将大文本文件加载到记录集中。 文本文件是一个日志文件,用 space 分隔并且没有第一行 headers 列。 我可以使用适当的 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
如果没有headers,记录集字段将被命名为F1、F2等,所以您可以使用:
rs.Find "[F10] = 'psymonds'", , 1, 2