Jet Text IISAM может быть мощным инструментом для всех видов обработки файлов, содержащих табличный текст. Вы можете выполнять простые запросы, присоединяться к файлам, вставлять в запросы выражения службы выражений VBA, преобразовывать входной файл в другой формат вывода и многое другое.
Добавляя файл schema.ini, вы получаете более точный контроль над разделителями, именами столбцов, форматами типов данных, а также можете обрабатывать текст с фиксированным полем.
Для простого нахождения максимума столбца:
'Requires a reference to ADO 2.5 or later.
Private Function GetMax( _
ByVal FieldNum As Integer, _
ByVal CSVFile As String, _
Optional ByVal CSVFolder As Variant) As Variant
'Find max value in field FieldNum of CSVfile, assumed
'here to be a HDR=No CSV file so field names are F1,
'F2, etc.
Dim rsResult As ADODB.Recordset
If IsMissing(CSVFolder) Then
CSVFolder = App.Path
ElseIf VarType(CSVFolder) <> vbString Then
CSVFolder = App.Path
End If
Set rsResult = New ADODB.Recordset
With rsResult
.CursorLocation = adUseClient
.Open "SELECT Max(F" & CStr(FieldNum) & ") FROM [" & CSVFile & "]", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" _
& CSVFolder _
& "';Extended Properties='Text;HDR=No'", _
adOpenStatic, adLockReadOnly, adCmdText
GetMax = .Fields(0).Value
.Close
End With
End Function
Хотя это может показаться излишним, считайте его «зародышем» многих других идей обработки текстовых таблиц.
Это так же эффективно и полезно в VBScript, как и в VB.
См. Обработка текстовых баз данных для получения дополнительной информации.