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
を、これはやり過ぎのように見えることができますが、それは他の多くのテキストテーブル処理のアイデアの「胚芽」を検討:単純にかかわらず、列の最大値を見つけるために
。
これは、VBと同じようにVBScriptで効果的で便利です。
詳細については、Processing Text Databasesを参照してください。
ありがとうございます! "file.csv"の代わりに私のディレクトリ/ファイルを入力するとエラーになります。私は、私の頭脳がこの時点で出てくるように、ろうそくを燃やしていたかもしれないと思います。例:Dim strFilePath As String strFilePath = dirBox.Path& "\"&filBox。ないEOF(F) 入力は#f、D ながら F限り、入力のためにダブル オープンstrFilePathとしてダブル、DMAXとしてDとファイル名 薄暗いF> DMAXその後DMAX = D Wendの のMsgBox F閉じる dの場合"Max is"&dMax – Defektive
宣言の後、Openファイル部分の前にf = FreeFileを追加しました。ヘルプマットありがとう。あなたはすごいね! – Defektive
申し訳ありません、忘れました。私はそれに答えを加えます。私がiPadで答えようとすると何が得られますか? –