redlinecomputers
Goto Top

Habe ein Problem mit meiner CSV Datenbank

Hallo zusammen.

Ich Arbeite jetzt schon einige Tage an der Erstellung eines XT Commerce Shops.

Jetzt bin ich leider an einem Punkt angelangt an dem ich nicht weiter weis. Ich beschreibe einfach mal kurz die ganze Situation:


Ich erhalte täglich von meinem Lieferanten eine TXT Datei, die sich zwar einwandfrei ins CSV-Format konvertieren lässt, aber weder mit JTL-WAWI noch mit XT Commerce zusammen passt.


Habe also noch diverse Tabellen erstellt die sich Ihre Daten aus Lieferantenliste und Formeln selbst zusammen rechnen. Diese sind je nach dem für JTL oder XT zurechtgelegt.


Das Problem ist zum Beispiel das meine Stundenlang geschriebenen Artikelbeschreibungen jedesmal überschrieben werden.

Gibt es eine Möglichkeit 2 CSV Datein zu Vergleichen und Änderungen zu übernehmen?

Also sprich nichtmehr vorhandene Datensätze zu entfernen, Preise zu aktualisieren, Neue Datensätze anhängen?


Hatte da einen schönen Ansatz gefunden der aber leider nicht ganz funktionierte, da er bereits vorhandene Datensätze nicht aktualisierte sondern übersprang und nur neue Datensätze anhängte :


@echo off & setlocal
set "Ordner=e:\test"
set "Sammel=e:\test\test.csv"

pushd "%Ordner%"
if exist "%Sammel%" del "%Sammel%"
for %%i in (*.csv) do if not exist "%Sammel%" for /f "usebackq delims=" %%z in ("%%i") do if not exist "%Sammel%" echo %%z>"%Sammel%"
for %%i in (*.csv) do more +1 "%%i">>"%Sammel%"
popd


Ich danke schonmal jetzt allen die sich Zeit nehmen und sich den Kopf zerbrechen.


Chris

Content-Key: 85592

Url: https://administrator.de/contentid/85592

Printed on: April 25, 2024 at 08:04 o'clock

Member: Biber
Biber Apr 15, 2008 at 16:52:39 (UTC)
Goto Top
Moin redwinecomputers,

da er bereits vorhandene Datensätze nicht aktualisierte ...
na ja, an was (bzw an welchem/welchen Token in der CSV-Zeile machst Du das denn fest?
  • Ist immer und in jeder CSV-Datei die ArtikelNr (oder welche ID auch immer) an der ersten Stelle?
  • Oder gibt es mehrere Felder, die einen "Datensatz" eindeutig machen?
  • Oder hat jeder "Datensatz" ein Datumsfeld, aus dem ich den letzten und damit wahrsten Stand ersehen kann?
  • was ist mit (logisch) gelöschten Sätzen - in der vorhandenen älteren CSV-Datei da, nicht in der neu gelieferten?

Bitte mal ein, zwei Beispielzeilen Deines CSV-Formats posten.

Grüße
Biber
Member: redlinecomputers
redlinecomputers Apr 15, 2008 at 17:15:25 (UTC)
Goto Top
Hallo,


entschuldigung das ich nicht so ausführlich beschrieben habe...aber der Bereich ist für mich absolutes neuland.

Die CSV ist so aufgebaut:

ARTNR;BARCODE;BEZEICHNUNG;KURZBESCH;BESCHREIBUNG;VKBRUTTO;MWST;UVP;EINHEIT;GEWICHT;VKHBRUTTO;EKNETTO;LIEFNR;MINDESTAB;LAGERBEST;ANMERKUNG;
PREISLISTE;TOPART;NEU;AKTIV;ATT1N;ATT1T;ATT1V;ATT1INET;BILD;LAGERAKTIV;KLEINERNULL;TEILBAR;HERSTELLER;ANZAHL-P1;PREIS-P1;ANZAHL-P2;PREIS-P2;ANZAHL-P3;
PREIS-P3;ANZAHL-P4;PREIS-P4;ANZAHL-P5;PREIS-P5;ANZAHL-H1;PREIS-H1;ANZAHL-H2;PREIS-H2;ANZAHL-H3;PREIS-H3;ANZAHL-H4;PREIS-H4;ANZAHL-H5;PREIS-H5;EBAYPREIS;
KATEGORIE


100039;;Notebook Tasche. Lunar. Value No20311;;;10.98;19%;;;;;7.90;;;878;;;;;1;;;;;;;;;Lunar;;;;;;;;;;;;;;;;;;;;;;Notebook Taschen
100117;;"HD Geh. USB 2.0 für 3.5"" HDDs - OEM";;;22.94;19%;;;;;16.50;;;47;;;;;1;;;;;;;;;Sonstiges/OEM;;;;;;;;;;;;;;;;;;;;;;externe Festplattengehäuse


Ich hoffe das hilft weiter


Chris
Member: filippg
filippg Apr 15, 2008 at 18:02:56 (UTC)
Goto Top
Hallo,

wie hat denn der "XT Commerce Shop" seine Daten gespeichert? Doch hoffentlich in einer vernünftigen DB (ich dachte da an MS SQL oder MySQL)? Dann solltest du die Daten des Lieferanten in eine separate Tabelle in der gleichen DB einspielen und dann nur die Felder, die auch überschreiben willst in die entsprechende Shop-Tabelle übertragen.
Nutzt der Shop keine DB oder du kannst nicht ordentlich darauf zugreifen: Dann kannst du immer noch bei dir lokal MSSQL Express oder Access für ebendiese aufgabe verwenden. Sprich: du hälst alle Daten (inkl Beschreibung) bei dir lokal vor, wenn du ein Update vom Lieferant bekommst mischst du das da rein und spielst anschließend alles auf den Server (dabei werden zwar die Daten dort u.U. alle überschrieben, aber du hast ja die aktuellsten Daten bei dir daheim).
Wie das jetzt im einzelnen geht ist abhänigig von technischen Gegenbenheiten und Fertigkeiten.

Gruß

Filipp