azraell Geschrieben 25. November 2009 Teilen Geschrieben 25. November 2009 Hallo zusammen, ich bin gerade dabei für meinen Chef eine Access-Datenbank zu machen und stehe vor einem Problem. Die Daten, die in die Datenbank sollen, stehen wöchentlich als .xls oder .cvs-files zur Verfügung. Nun ist es ja möglich, dass sich die Abfolge der Spalten ändert. Somit bräuchte ich etwas Hilfe wie ich eine Parametrisierung der eingehenden Daten gewährleisten kann. Dass am Ende z.B. auch das Datum da hingehört wo es hin soll... Ich hoffe ihr könnt mir irgendwie helfen. Viele Grüße, azraell Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
azraell Geschrieben 1. Dezember 2009 Autor Teilen Geschrieben 1. Dezember 2009 Guten morgen, hat dazu niemand eine idee?? LG Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
.NETter Geschrieben 1. Dezember 2009 Teilen Geschrieben 1. Dezember 2009 Hallo, ich denke dies könnte doch sehr schwierig werden eine immer wieder anders strukturierte Datei "einlesen" zu wollen. Solange die Spaltennamen der CSV-Datei mit den Spaltennamen der Tabelle übereinstimmen kann Access (2007) dies automatisch mappen. Hast Du hier allerdings Spalten in der CSV-Datei die in der Tabelle nicht vorhanden sind, wird der Import scheitern. Ich würde hier eine Schnittstelle definieren, eben ein Interface welches die Struktur der CSV-datei definiert. Quasi als Kommunikationsvoraussetzung. Falls Du weitere Programmierkenntnisse im .Net Bereich besitzt kannst Du natürlich auch selbst etwas entwickeln. Kleine Idee: -Anzeige der Spaltenköpfe die in der CSV-Datei vorhanden sind (CheckedListBox) zur Auswahl der zu importierenden Spalten. -Mappingzuordnung der Quellspalten an die Zielspalten, die ausgewählt wurden -Import nach Access aus der eigenen Anwendung heraus Gruß, Thomas Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
azraell Geschrieben 2. Dezember 2009 Autor Teilen Geschrieben 2. Dezember 2009 Hallo Thomas, mein "Problem" ist nicht, dass die Datei immer anders ist. Es besteht nur die Möglichkeit, dass sich etwas in der Export-Datei ändern kann die ich bekomme... Ich kriege täglich einen Export aus SAP mit Lieferzahlen, der dann in Access eingelesen werden soll. und da will ich eigentlich nicht täglich schauen ob sich was geändert hat... wie würde dein eine solche "schnittstelle" aussehen? gibts schon irgendwelche vorgefertigte lösungen für sowas? wenn ja, wäre es sehr cool wenn du mir ein paar infos dazu geben könntest Grüße, Max Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
.NETter Geschrieben 2. Dezember 2009 Teilen Geschrieben 2. Dezember 2009 Hallo! Das Interface war jetzt garnicht spezifisch auf Softwareentwicklung bezogen, sondern einfach als Definition auf einen gemeinsamen Nenner. Es besteht immer die Möglichkeit das zu importierende Daten sich ändern können. In diesem speziellen Fall mit SAP könnte dies zum Beispiel eine View auf SAP-Seite sein aus der die Daten für die CSV-Datei abgezogen werden. So hättest Du immer eine Art Garantie für passende Datenstrukturen. Was Du natürlich auch tun kannst, ist die Daten garnicht aus der CSV-Datei zu beziehen sondern direkt in SAP abzufragen. Es gibt hierfür Datenprovider für ADO.Net: SAP Library - ADO.NET Interface Ich denke solange Du aus einer CSV-Datei Daten abziehen wirst, wird immer das Risiko bestehen eines Tages vor die Wand zu laufen. Wie sieht es mit den Spaltennamen der CSV-Datei aus? Sind die enthalten? Vielleicht kannst Du zumindest so etwas Kontrolle in die Sache bringen indem Du nur Daten aus bekannte Spaltennamen importierst. (Eigene anwendung schreiben). Gruß, Thomas Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
azraell Geschrieben 3. Dezember 2009 Autor Teilen Geschrieben 3. Dezember 2009 (bearbeitet) Hallo, den Export direkt aus SAP werde ich leider nicht nutzen können. Ich kriege die fertigen .csv-Dateien täglich von einem anderen Standort auf ein Share geliefert. Verstehe ich das so richtig: wenn ich das Layout der .csv-Dateien ordentlich definiere und sicherstelle, dass die Spalten-Bezeichnungen enthalten sind, kann Access2007 auch bei "vertauschten" Spalten die Daten zuordnen? Das würde mir schonmal seeeehr viel weiterhelfen Das mit der eigenen Anwendung klingt verlockend, nur bin ich im Sinne von eine eigene Anwendung schreiben auf sehr großem Neuland. Dazu wird das in meinem zeitlichen Rahmen (Diplomarbeit bis Februar) vermutlich auch nicht mehr klappen. Grüße, Max Bearbeitet 3. Dezember 2009 von azraell Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
.NETter Geschrieben 3. Dezember 2009 Teilen Geschrieben 3. Dezember 2009 Ja, Access 2007 kann kann die Spalten anhand ihrer Namen problemlos mappen. Ich würde die Definition deiner CSV-Datei schriftlich dokumentieren (also als verbindliches Interface) und an die verantwortlichen Leute weitergeben. Da man als AE nicht immer ganz oben in der Nahrungskette steht werden Änderungen natürlich irgendwann doch stattfinden. Aber durch die Bekanntgabe dieser Schnittstellendefinition wissen die Verantwortlichen zumindest Bescheid und haben die Chance (vielleicht sogar Pflicht) Dich über Änderungen zu informieren. Falls der Informationsfluss dann nicht greifen sollte kannst Du zumindest auf ein Dokument hinweisen, was sie ja dann zumindest gelesen haben sollten. So wärst Du schon mal auf der sicheren Seite was die Verantwortung vor Deinem Vorgesetzten angeht. Ändern kannst Du den Import dann ja immernoch. Viele Grüße, Thomas Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
azraell Geschrieben 10. Dezember 2009 Autor Teilen Geschrieben 10. Dezember 2009 Guten morgen, gehe ich dann recht in der Annahme, dass Access 2003 dieses automatische Mapping nicht kann? :eek jetzt wurde mir auf einmal mitgeteilt, dass auch kollegen mit access 2003 die datenbank nutzen sollen, allerdings "nur" nutzen keine imports fahren. wie könnte ich dann mappen? (oder sollte ich festlegen, dass der admin, der die daten-imports durchführt access 2007 haben muss) ich muss eh eine kontrolle beim import durchführen, dass keine datensätze mit fehlenden datums-werten vorhanden sind. viele grüße, Max Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
.NETter Geschrieben 11. Dezember 2009 Teilen Geschrieben 11. Dezember 2009 Hallo, bei Access 2003 kann ich Dir das garnicht beantworten :-( Arbeitet ihr dort nur mit Access? Oder gibt es hier noch einen SQL Server? Hintergrund der Frage ist ob Du hier nicht ein DTSX-Paket basteln kannst, was die Sache natürlich vereinfachen würde. Der reine Import in Access bietet (meines Wissens nach) keine Überprüfung der Datensätze auf festgelegte Einschränkungen. Mit einem DTSX-Paket könnte man den Import und die Überprüfung jedes einzelnen Datensatzes natürlich prima erledigen. Ebenso könnte man das Mapping bestens integrieren. Je mehr Besonderheiten beim Import entstehen (kein leeres Datum etc.) desto eher würde ich doch zu einer eigenen Anwendung oder besser einem DTSX-Paket tendieren. Mögen mich alle VBA-Programmierer jetzt ruhig nieder machen, aber ich drücke mich davor wo es nur geht :-) Damit könnte man bestimmt auch viele Dinge erledigen, aber da kann ich Dir nicht weiter helfen, sorry. Viele Grüße, Thomas Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.