Const ForReading = 1
Dim fso, F, i, j, Zeile(1000000), Inhalt, VON_DATUM, BIS_DATUM, VON_MONAT_NULL, VON_TAG_NULL, VON_STUNDE_NULL, BIS_MONAT_NULL, BIS_TAG_NULL, BIS_STUNDE_NULL
' ########################################################
' Variablen Initialisieren
' ########################################################
SmartTags("ARCHIVIERUNG\AUSGABE")(0) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(1) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(2) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(3) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(4) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(5) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(6) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(7) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(8) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(9) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(10) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(11) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(12) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(13) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(14) = 0
SmartTags("ARCHIVIERUNG\AUSGABE")(15) = 0
' ########################################################
' Variablen eine Null vorranstellen, wenn sie kleiner als 10 sind
' ########################################################
If SmartTags("ARCHIVIERUNG\VON_MONAT") < 10 Then
VON_MONAT_NULL = "0"
Else
VON_MONAT_NULL = ""
End If
If SmartTags("ARCHIVIERUNG\VON_TAG") < 10 Then
VON_TAG_NULL = "0"
Else
VON_TAG_NULL = ""
End If
If SmartTags("ARCHIVIERUNG\VON_STUNDE") < 10 Then
VON_STUNDE_NULL = "0"
Else
VON_STUNDE_NULL = ""
End If
If SmartTags("ARCHIVIERUNG\BIS_MONAT") < 10 Then
BIS_MONAT_NULL = "0"
Else
BIS_MONAT_NULL = ""
End If
If SmartTags("ARCHIVIERUNG\BIS_TAG") < 10 Then
BIS_TAG_NULL = "0"
Else
BIS_TAG_NULL = ""
End If
If SmartTags("ARCHIVIERUNG\BIS_STUNDE") < 10 Then
BIS_STUNDE_NULL = "0"
Else
BIS_STUNDE_NULL = ""
End If
' ########################################################
' Suchstring zusammensetzen
' ########################################################
VON_DATUM = SmartTags("ARCHIVIERUNG\VON_JAHR") & "." & VON_MONAT_NULL & SmartTags("ARCHIVIERUNG\VON_MONAT") & "." & VON_TAG_NULL & SmartTags("ARCHIVIERUNG\VON_TAG") & " " & VON_STUNDE_NULL & SmartTags("ARCHIVIERUNG\VON_STUNDE") & ":00"
BIS_DATUM = SmartTags("ARCHIVIERUNG\BIS_JAHR") & "." & BIS_MONAT_NULL & SmartTags("ARCHIVIERUNG\BIS_MONAT") & "." & BIS_TAG_NULL & SmartTags("ARCHIVIERUNG\BIS_TAG") & " " & BIS_STUNDE_NULL & SmartTags("ARCHIVIERUNG\BIS_STUNDE") & ":00"
' ########################################################
' Datei auslesen
' ########################################################
Set fso = CreateObject("Scripting.FileSystemObject")
Set F = fso.OpenTextFile("D:\BDE\ZAEHLER.csv", ForReading)
i = 0
Do While F.AtEndOfStream <> True
Zeile(i) = F.ReadLine
i = i + 1
Loop
' ########################################################
' Ausgabe erzeugen
' ########################################################
j = 1 ' Zeile 0 sind Überschriften
Do While j < i 'i enthält die Anzahl der Einträge (+1) in der CSV-Datei
Inhalt = Split(Zeile(j),";")
' gefundene Rezeptur ID in interne Variable rangieren, damit vergleichen werden kann (Nicht schön, noch ändern!!)
SmartTags("ARCHIVIERUNG\GEFUNDENE_REZEPTUR_ID") = Inhalt(1)
' Nur Addieren wenn sie im gesuchten Zeitraum liegen oder alle Einträge angezeigt werden sollen Und sie der gesuchten Rezeptur ID zugeordnet sind
If (SmartTags("ARCHIVIERUNG\GEFUNDENE_REZEPTUR_ID") = SmartTags("ARCHIVIERUNG\GESUCHTE_REZEPTUR_ID")) And (((Inhalt(0) >= VON_DATUM) And (Inhalt(0) <= BIS_DATUM)) Or (SmartTags("ARCHIVIERUNG\GESAMTZAEHLER"))) Then
SmartTags("ARCHIVIERUNG\AUSGABE")(0) = (SmartTags("ARCHIVIERUNG\AUSGABE")(0) + Inhalt(2))
SmartTags("ARCHIVIERUNG\AUSGABE")(1) = (SmartTags("ARCHIVIERUNG\AUSGABE")(1) + Inhalt(3))
SmartTags("ARCHIVIERUNG\AUSGABE")(2) = (SmartTags("ARCHIVIERUNG\AUSGABE")(2) + Inhalt(4))
SmartTags("ARCHIVIERUNG\AUSGABE")(3) = (SmartTags("ARCHIVIERUNG\AUSGABE")(3) + Inhalt(5))
SmartTags("ARCHIVIERUNG\AUSGABE")(4) = (SmartTags("ARCHIVIERUNG\AUSGABE")(4) + Inhalt(6))
SmartTags("ARCHIVIERUNG\AUSGABE")(5) = (SmartTags("ARCHIVIERUNG\AUSGABE")(5) + Inhalt(7))
SmartTags("ARCHIVIERUNG\AUSGABE")(6) = (SmartTags("ARCHIVIERUNG\AUSGABE")(6) + Inhalt(8))
SmartTags("ARCHIVIERUNG\AUSGABE")(7) = (SmartTags("ARCHIVIERUNG\AUSGABE")(7) + Inhalt(9))
SmartTags("ARCHIVIERUNG\AUSGABE")(8) = (SmartTags("ARCHIVIERUNG\AUSGABE")(8) + Inhalt(10))
SmartTags("ARCHIVIERUNG\AUSGABE")(9) = (SmartTags("ARCHIVIERUNG\AUSGABE")(9) + Inhalt(11))
SmartTags("ARCHIVIERUNG\AUSGABE")(10) = (SmartTags("ARCHIVIERUNG\AUSGABE")(10) + Inhalt(12))
SmartTags("ARCHIVIERUNG\AUSGABE")(11) = (SmartTags("ARCHIVIERUNG\AUSGABE")(11) + Inhalt(13))
SmartTags("ARCHIVIERUNG\AUSGABE")(12) = (SmartTags("ARCHIVIERUNG\AUSGABE")(12) + Inhalt(14))
SmartTags("ARCHIVIERUNG\AUSGABE")(13) = (SmartTags("ARCHIVIERUNG\AUSGABE")(13) + Inhalt(15))
SmartTags("ARCHIVIERUNG\AUSGABE")(14) = (SmartTags("ARCHIVIERUNG\AUSGABE")(14) + Inhalt(16))
SmartTags("ARCHIVIERUNG\AUSGABE")(15) = (SmartTags("ARCHIVIERUNG\AUSGABE")(15) + Inhalt(17))
End If
j = j + 1
Loop
' Variable zurücksetzen, nachdem das script durchlaufen wurde
SmartTags("ARCHIVIERUNG\GESAMTZAEHLER") = False
F.Close