Kann ich statt eines festen Tages auch einen Zeitraum abfragen. Also entweder nur das Jahr und den Monat definieren und alle verfügbaren Tage auslesen, dann aber wieder jeden Tag in eine separate Datei abspeichern?
In den Ausgabedateien sind die Werte mit Anführungszeichen getrennt und die Nachkommastelle ist mit Komma getrennt. Wie kann man die Anführungszeichen wegnehmen und das Dezimalkomma durch einen Punkt ersetzen (in VBA)?
Herzlichen Dank schon einmal an alle, die sich hiermit beschäftigen.
Gruß Diana
Hallo Diana,
habe Dir dazu mal Dein Beispiel ergänzt. Beim Tag kan man jetzt einen einzelnen Tag (z.B: 15), eine Zeitspanne (15-21) oder alle (für alle Tage des Monats) eingeben. https://www.herber.de/bbs/user/53332.xls
Habe im Vba-Code ein paar Kommentare dazugesetzt. Viel Spaß beim Ausprobieren wünscht
Luschi
aus klein-Paris
AW: Zeitraum filtern und getrennt speichern
27.06.2008 09:32:00
Diana
Hallo Luschi!
Herzlichen Dank für deine Arbeit und dass du dir soviel Zeit genommen hast. Ich kann noch nicht genau sagen, ob es läuft, da das Makro beim ersten Datenauslesen abbricht ... (P21z02V01). Kann das an der Bezeichnung für "Tag" hängen?
Ich habe fast ein schlechtes Gewissen, aber kannst du dir das mit dem Export auch noch einmal anschauen? Grundsätzlich werden Messwerte ausgegeben. In der ersten Zeile ist die Kopfzeile, die ich lösche. Die Messwerte sind sowohl dezimal, als auch Ganzzahlig. In der Ausgabedatei hätte ich gern als Trenner ein ";", das Dezimalzeichen ist mir egal ("." oder ","). Alle Versuche sind bisher gescheitert ... und ich weiß nicht mehr woran es noch liegt.
Vielen Dank schon einmal im voraus
Gruß Diana
Anzeige
AW: Zeitraum filtern und getrennt speichern
27.06.2008 10:21:00
Luschi
Hallo Diana,
habe einen kleinen Fehler gefunden. Im Code steht:
Case 45, 48 To 54
es muß aber dastehen
Case 45, 48 To 57
Das bedeutet, das nur das Minuszeichen (45) und die Zahlen 0 bis 9 (48 bis 57) zur Eingabe zugelassen sind.
Ansonsten gibt es bei der Eingabe von Tag ja 3 Varianten. Wenn der User nur die Zahl 8 eingibt, dann läuft die For-Scheife von 8 bis 8 (also nur einmal). Die Bedingung für diesen Durchlauf lautet dann:
... WHERE (k055z02_0.Zeit Between {ts '2008-06-08 00:00:00'} And {ts '2008-06-08 23:59:59'})
Lautet die Tageseingabe: 8-10, dann läuft die Schleife 3-mal und die Bedingung für jeden Durchlauf ist dann:
... WHERE (k055z02_0.Zeit Between {ts '2008-06-08 00:00:00'} And {ts '2008-06-08 23:59:59'})
... WHERE (k055z02_0.Zeit Between {ts '2008-06-09 00:00:00'} And {ts '2008-06-09 23:59:59'})
... WHERE (k055z02_0.Zeit Between {ts '2008-06-10 00:00:00'} And {ts '2008-06-10 23:59:59'})
Bei der Eingabe alle wird der letzte Tag des Monats berechnet und die Schleife läuft dann sovielmal, wie der Monat Tage hat.
Allerdings verstehe ich nicht was die Bezeichnung 'ts' in der Datumsangabe bedeuten soll, oder ist das in diesem Datenbanksystem Vorschrift?
Gruß von Luschi
aus klein-Paris