Vbscript zum importieren von csvs in access

Hallo!

Ich habe ein vbs-Skript, welches jeden Tag Postfachgrößen mit Namen aus Exchange ausliest und in eine csv-Datei ausgibt. Ich habe also jeden Tag eine CSV-Datei mit den aktuellen Größen.
Ich bräuchte nun ein Skript, welches die aktuellen csvs ausliest und in Access einspielt.

Ich möchte diese Daten dann weiter verarbeiten um z.B. eine Historie pro User auszugeben wie sich die Größe des Postfaches verhält. Bestenfalls auch grafisch.

Könntet Ihr mir helfen wie ich das anzustellen habe?

Vielen Dank im Voraus!

MFG
Der Eisenmann

Hallo Eisenmann,

wieviele Datensätze sind es denn? bei weinger als 65.000 würde ich wegen der Grafik Excel vorschlagen (okay ist KEINE Datenbank).

MfG Georg V.

P.S.: Ich wäre vorsichtig mit Nennung von Namen in solchen Statistiken, dies könnte als unerlaubte Leistungskontrolle gewertet werden.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Es sind pro Tag ca. 1500 Datensätze. Die Statistik sollte schon über einen etwas längeren Zeitraum gehen, also so an die 6 Monate.
Und danke für die Anmerkung mit den Namen. Das werde ich beachten. Allerdings soll das Tool nur dazu genutzt werden um nachweisen zu können, daß bei allen Usern das Datenvolumen ansteigt.

Wie stelle ich dann das jetzt an…wenn man von 1500 Datensätzen mal 180 Tagen ausgeht reichen die 65000 Sätze von Excel leider nicht aus…

Vielen Dank im Voraus!

MFG
Der Eisenmann

Wie stelle ich dann das jetzt an…wenn man von 1500
Datensätzen mal 180 Tagen ausgeht reichen die 65000 Sätze von
Excel leider nicht aus…

Hast du schon ein Datenbank modell?
Oder reichen diese zwei Tabellen?
–> User(USer_ID(PK), Vorname, Nachname)
–> Historie(H_ID(PK), User_ID(FK), Datum, Größe)
Dann öffnest du eine Verbindung zur Datei per filesystemobject (siehe google, Stichworte: fso, filesystemobject)
Dann eine Datenbankverbindung per ADO (siehe google, Stichworte: „CreateObject(„ADODB.recordset“)“ oder „CreateObject(„ADODB.Connection“)“)
Dann in Access einen Bericht erzeugen, der dir das ganze graphisch anzeigt
Das ist die Vorgehensweise, die ich nehmen würde

Gruß,
AlexR

Hallo und Danke für die schnelle Antwort.
Ich habe noch kein richtiges Datenbankmodell.
Die csv-tabellen sehen so aus: User, Postfachgröße.
Jeden Tag wird eine neue csv erzeugt und abgelegt.
Wie müsste ich das Modellieren und vor allem wie bekomme ich das hin, daß die Datenbank jede neue csv als ein neues Datum erkennt. Sollte ich vielleicht in die csv das Datum mit aufnehmen? Oder kann ich das direkt in der Datenbankabfrage irgendwie handeln?

MFG
Der Eisenmann

Hallo EIsenmann,

das Datum entweder im Filenamen oder in jede Datenzeile eintragen. Sonst müsstest Du sicherstellen, dass die Dateien immer sofort verarbeitet werden.

MfG Georg V.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!
Alles klar, habe gerade mein vbs-skript angepasst. Nun steht in der vordersten Spalte das aktuelle Datum drin.
Würde dieses Modell funktionieren:

Tabelle1(user(pk), postfachgröße, datum)
Tabelle2(user(pk), postfachgröße, datum) 'Tabelle 2 ist dann die csv vom nachfolgenden Tag.

Wie muss ich nun genau in Access die Abfrage gestalten?
Wie würde der Quelltext aussehen, den ich benötige um die csvs in die Datenbank zu importieren. Ich muss wohl hier eine Schleife einfügen um die Daten der letzen 6 Monate zu importieren, oder?

Vielen Dank im Voraus!
MFG
Eisenmann

Hallo,

nein das Datenmodell ist entweder
Tabelle(user(pk), postfachgröße, datum)
oder
Tab_User (id, user)
Tab_Fach (id, datum, postfachgröße)

MfG Georg V.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Eisenmann,

ich habe mir das übernacht noch mal überlegt. Wahrscheinlich dürfte es erstmal das beste sein, dass Du die Daten mit Hilfe eines Makro’s in Excel einlädst (z.B. http://familieverweyen.de/txt_0025.htm kann auch über die 65.535 Zeilengrenze hinweg einlesen). Damit die Mappen nicht zu groß werden, kannst Du ja jeden Monat eine extra Datei anlegen.

Da ich mich außerdem frage, was man als Wirtschaftsinformatikstudent mit diesen Thema (in dieser Detailstufe) anfangen kann, vielleicht noch einen Erfassungstipp: Von der Pressestelle und/oder Betriebsrat versandte Massenmails an die gesamte Belegschaft würde ich extra erfassen lassen (geht außer bei festen Absendern nicht maschinell) sonst kannst Du nicht erklären, warum zeitliche Sprünge in den Volumen vorhanden sind. Ebenso falls (sporadisch) automatische Mails zur Reduzierung des Postfachvolumen versendet werden. Welche Archivierungsmöglichkeiten haben die Anwender eigentlich? Wenn dies ein zentrales System ist, würde ich dies ebenfalls monitoren.

MfG Georg V.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!
Ja, so habe ich mir die Tabelle für die Abfragen auch vorgestellt. Also importiert wird in dieser Form: User, Postfachgröße, Datum.
Diese lese ich dann z.B. von den letzten 6 Monaten ein via Schleife im Importskript…wie auch immer das aussehen mag.
Wenn die Daten erst mal in der DB sind kann man sich ja eine Abfrage zusammenbauen. Gewollt wäre z.B. eine Grafik wo oben noch der Filter sitzt für die einzelnen User, damit man für jeden User die Abfrage starten kann.

Übrigens Danke für Deine Hilfe. Mit Excel werde ich das nicht machen, weil dafür die Möglichkeiten zu gering sind und zweitens in diesem Projekt Access und VBS verwendet werden soll. Leider will das mein Prof so haben…

Wie müsste denn das Einleseskript für die csvs ungefähr aussehen?
Vielen Dank im Voraus!

MFG
Der Eisenmann

-gelöscht-

Übrigens Danke für Deine Hilfe. Mit Excel werde ich das nicht
machen, weil dafür die Möglichkeiten zu gering sind und
zweitens in diesem Projekt Access und VBS verwendet werden
soll. Leider will das mein Prof so haben…

Wie müsste denn das Einleseskript für die csvs ungefähr
aussehen?

Hallo Eisenmann,

obwohl ich absolut nicht mit Deiner Aussage zu Excel einverstanden bin (man kann übrigens auch Excel-Mappen in Tabellen importieren), habe ich Dir als PM eine Access-DB und die verwendete Test-CSV-Datei zugeschickt.

MfG Georg V.

1 Like

Hallo Eisenmann,

obwohl ich absolut nicht mit Deiner Aussage zu Excel
einverstanden bin (man kann übrigens auch Excel-Mappen in
Tabellen importieren), habe ich Dir als PM eine Access-DB und
die verwendete Test-CSV-Datei zugeschickt.

MfG Georg V.

Hallo Georg!

Danke für Deine Hilfe. Gleich heute Abend werde ich mir das Skript mal unter den Nagel reissen und es auf mich anpassen!
Falls ich noch Fragen habe werde ich mich einfach nochmal hier melden oder Dir eine email zukommen lassen.
Übrigens bin ich normalerweise ein totaler Excelfan, aber die Funktionen, die der Prof. haben will sind ohne Datenbank leider nicht zu realisieren. Und die Daten bekommen wir auch leider nur im csv Format…damit fällt Excel leider flach. Ansonsten klarerweise, dank guter Usability, mein absoluter Favorit, da hast Du absolut recht.

Ach ja, bekommst natürlich für Deine tolle Hilfe ein Sternchen!
Danke nochmals!

MFG
Der Eisenmann