Warum die Textdatei nicht mittels ADO einlesen und auswerten?
Spoiler anzeigen
AutoItSetOption('MustDeclareVars', 1)
; Konstanten bitte anpassen
Const $DIRECTORY = 'C:\Dokumente und Einstellungen\Administrator\Desktop\cvsexample\'
Const $TEXT_FILE = 'daten.txt'
; ---
Const $REGKEY_PATH = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text'
Dim $Buffer = ''
If StringLower(RegRead($REGKEY_PATH, 'Format')) <> 'tabdelimited' Then
$Buffer = RegRead($REGKEY_PATH, 'Format')
RegWrite($REGKEY_PATH, 'Format', 'REG_SZ', 'TabDelimited')
EndIf
Dim $con = ObjCreate('ADODB.Connection')
Dim $rs = ObjCreate('ADODB.RecordSet')
$con.Provider = 'Microsoft.Jet.OLEDB.4.0'
$con.ConnectionString = StringFormat( _
'Data Source="%s";' & _
'Extended Properties="text;HDR=NO";', _
$DIRECTORY)
$con.Open
$rs.Open(StringFormat( _
'SELECT F2, SUM(F1), COUNT(F2), AVG(F1) ' & _
'FROM %s ' & _
'GROUP BY F2', $TEXT_FILE), $con)
ConsoleWrite(StringFormat('%-10s%-10s%-10s%s\n', 'Wert', 'Summe', 'Anzahl', 'Durschnitt'))
While Not $rs.EOF
ConsoleWrite(StringFormat('%-10s%-10s%-10s%s\n', _
$rs.Fields(0).Value, $rs.Fields(1).Value, $rs.Fields(2).Value, $rs.Fields(3).Value))
$rs.MoveNext()
WEnd
$rs.Close()
$con.Close()
If $Buffer <> '' Then
RegWrite($REGKEY_PATH, 'Format', 'REG_SZ', $Buffer)
EndIf