Externe Daten falsch sortiert

Uli Schoch

Neuer Benutzer
Beiträge
3
Hallo

Ich besitze eine Wetterstation, deren Messwerte ich auf eine MDB-Datei übertragen kann. Dies hat ca. 10 000 Records. Die Erste Spalte ist ein Datum+Zeit-Wert, die weiteren 22 sind Zahlen. Ich möchte nun die Daten in eine Textdatei speichern. Ich öffne die MDB mit ACCESS 2010.Dort klicke ich auft „Externe Daten“, dann auf „Textdatei“. Dann wähle ich den Dateinamen, dann ok, dann „Fertigstellen“. Dann Schaue ich die erstellte Datei mit dem Editor an. Diese hat wohl gleichviele Zeilen, wie die MDB Records hat. Einige Zeilen habe aber falsch Daten. Z. B. kommen nach den Daten mit Datum 16.08.2025 solche mit Datum 21.08.2025, dann wieder die Fortsetzung der Daten vom 16.08.20.

In der MDB Datei sind die Daten in korrekter Reihenfolge. Auch wenn ich statt auf Textdatei auf EXCEL klicke, werden falsche Daten angezeigt Warum wohl?

Uli
 
Werbung:
In der MDB Datei sind die Daten in korrekter Reihenfolge.
Das ist entweder Zufall oder ein Hidden Feature.
Eine Datenbank hat grundsätzlich keine definierte Reihenfolge bei einer normalen Abfrage wie z.B.:
Select * from meine_wetterdaten;
Daher sind Deine Exportdaten nicht "falsch". Erst ein SQL Statement mit Sortiervorgabe liefert eine definierte Reihenfolge gemäß der Anforderung:
Select * from meine_wetterdaten w order by w.create_date;
Das kannst Du Dir für immer merken, egal was Du jemals mit SQL machst.

Ein solches select Statement dürfte auch die Grundlage für den Export sein.
Ich hab schon lange kein Access mehr eingesetzt, 2010 war zwar dabei, aber auswendig keine Ahnung, ob man das beeinflussen kann.
Du hast verschiedene Möglichkeiten:
- Den Export selbst programmieren
- Den Export variieren
- ..
- Die exportierten Daten selbst sortieren

Kommt drauf an, was man möchte, kann, naheliegend in der Umgebung ist..
Was ich als erstes versuchen würde (am einfachsten, naheliegendsten):
Einen View definieren (Abfrage in Access) die genau das tut, was ich oben erläutert habe:

(create or replace view meine_wetterdaten_nach_datum as) Select * from meine_wetterdaten w order by w.create_date;
Diese Abfrage dann exportieren.
 
Hallo
Ich habe die von der Wetterstation erstellte MDB-Datei gelöscht und von der Wetterstation aus eine neue erstellt. Dies mit Access geöffnet und so wie oben beschrieben eine Textdatei erstellt. Jetzt sin die Daten korrekt. Warum, weiss ich nicht. Die Datei hat nur ca. 3500 Records. Auch da weiss ich nicht warum.
Ich schaue mal, wie es weiter geht.

Gruss
Uli
 
Jetzt sin die Daten korrekt
Nochmal, hier von "korrekt" zu sprechen ist nicht korrekt.
Eine Datenbank bzw. eine Tabelle hat keine definierte Reihenfolge.

Bei dem Prozess der Neuerstellung so wie Du es beschrieben hast, geschieht wahrscheinlich folgendes.
Die Wetterstation eportiert in einem Rutsch alle Daten, die sie maximal "im Kopf" behalten kann in die Datenbanktabelle und diese Daten bleiben dort genau in dieser Reihenfolge erstmal erhalten. Je länger diese "Datenbank"/Datei/Tabelle existiert und genutzt wird, desto größer ist die Wahrscheinlichkeit, dass die "natürliche" bzw. ursprüngliche Reihenfolge, die Du als korrekt bezeichnest, durcheinander kommt.
 
In der Beschreibung der Wetterstation steht, das man nach dem Exportieren der Daten in die Easy3104.MDB diese umbenennen kann und die Daten "im Kopf" der Wetterstation löschen kann. Beim nächsten Start des Wetterprogramms wird dann einen neue Easy3104.MDB erstellt. So wird diese Datei nicht zu lang.

Gruss
Uli
 
Man könnte die Daten auch noch nachgelagert mit einem anderen Tool sortieren. Notepad++ kann das sicherlich. Bei Excel muss man sehr aufpassen. Excel kann natürlich auch sortieren aber Excel ist kaum davon abzubringen, Daten zu interpretieren, und beim Abspeichern dann zu konvertieren. So werden aus Messdaten dann schnell Datumswerte oder Exponentialfunktionen. Mit dem CSV Import und Export von Excel könnte es aber gehen.
 
Werbung:
Eigentlich hat dabadepdu doch alles beschrieben.
Öffne die exportierte Datenbank.
Erstelle eine Abfrage mit den benötigten Feldern und sortiere die Abfrage.
Exportiere die Abfrage in eine neue Textdatei ( DoCmd.TransferText...)

 
Zurück
Oben