2015-10-09 2 views
1

В Excel 2010 я пишу приложение vb, которое загружает большой текстовый файл в набор записей. Текстовый файл представляет собой файл журнала, разделенный пробелом и без первой строки для заголовков столбцов. Я могу загрузить файл в набор записей, используя соответствующий файл schema.ini. Файл регистрирует пользователей для входа в базу данных.ADODB найти в наборе записей

Учетная запись пользователя находится в 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 

ответ

2

Если у вас нет заголовков, поля Recordset будет называться F1, F2 и так далее, так что вы можете использовать:

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

собирался добавить комментарий, но я не знаю, о синтаксисе [F # colnum #]. Ницца! – James

 Смежные вопросы

  • Нет связанных вопросов^_^