Jet 텍스트 IISAM은 표 형식의 텍스트를 포함하는 모든 종류의 파일 처리를위한 강력한 도구가 될 수 있습니다. 간단한 쿼리, 파일 간의 조인, 쿼리에 VBA Expression Service 식 포함, 입력 파일을 다른 출력 형식으로 변환 및 기타 많은 작업을 수행 할 수 있습니다.
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
, 그것은 다른 많은 텍스트 테이블 처리 아이디어의 "세균"고려하십시오.
VB에서와 마찬가지로 VBScript와 마찬가지로 효과적이며 유용합니다.
자세한 내용은 Processing Text Databases을 참조하십시오.
고마워요! "file.csv"대신 내 디렉토리/파일을 입력하면 오류가 발생합니다. 나는 나의 두뇌가이 시점에서 나올 정도로 오래 촛불을 태우고 있을지도 모른다고 생각한다. 예 : Dim strFilePath As String strFilePath = dirBox.Path & "\"& filBox.파일 이름 희미한 F 롱, 더 블룸 D, 더블 열기 strFilePath으로 DMAX로 입력을 F로 동안하지 EOF (F) 입력 #F, D 거라고 경우> DMAX 그런 DMAX = D 나아가 다 닫기 F 있는 MsgBox "Max is"& dMax – Defektive
선언 다음에 Open file 부분 앞에 f = FreeFile을 추가하면 작동합니다! 도와 주신 매트 감사합니다. 너 대단해! – Defektive
죄송합니다. 깜빡했습니다. 나는 대답을 추가 할 것이다. iPad에서 답변을 얻으 려 할 때 얻을 수있는 것! –