Hallo,
ich möchte aus einer verknüpften csv-Tabelle (aus Händlerliste gebaut) alle
neuen Varianten importieren aber
ohne dabei die bestehenden zu überschreiben.
Im WC habe ich ja nur die Optionen:
- Löscht alle Daten und legt die importierten Daten neu an
- Es werden Daten hinzugefügt und bestehende aktualisiert
- Es werden Daten hinzugefügt, gelöscht und bestehende aktualisiert
Ich brauche in diesem speziellen Fall aber ein
Es werden neue Daten hinzugefügt und bestehende nicht verändert.
Geht das irgendwie ? vielleicht mit dem Statement ?
Meine Abfrage schaut jetzt so aus:
SELECT DISTINCT ([Lang-neu1].ArtNr), hop_sitm.MITEMID, [Lang-neu1].[Bez 1], [Lang-neu1].EAN_Artikel, ...
[Lang-neu1].Preis, ('Farbe: ' & RIGHT([Lang-neu1].ArtNr, 5) & ', ' & LCASE([Lang-neu1].Farbe)) AS Beschreibung,
(RIGHT([Lang-neu1].ArtNr, 5) & ' <br><small>' & LCASE([Lang-neu1].Farbe) & '</small>') AS Varibesch, ...
FROM hop_sitm INNER JOIN [Lang-neu1] ON hop_sitm.MITEMID = [Lang-neu1].MITEMID
ORDER BY [Lang-neu1].ArtNr;
Nachtrag:mit
...
FROM hop_sitm INNER JOIN [Lang-neu1] ON hop_sitm.MITEMID = [Lang-neu1].MITEMID
WHERE ((([Lang-neu1].ArtNr) = [hop_sitm].[ARTNR]))
...
werden alle Varianten ausgegeben, die schon im WC vorhanden sind.
DIE will ich ja aber nicht ;) - sondern die die es noch nicht gibt
aber
WHERE ((([Lang-neu1].ArtNr) <> [hop_sitm].[ARTNR]))
WHERE ((([Lang-neu1].ArtNr) != [hop_sitm].[ARTNR]))
WHERE ((([Lang-neu1].ArtNr) IS NOT [hop_sitm].[ARTNR]))
funktioniert alles nicht ???
Habe jetzt schon stundenlang gegoogelt aber keinen brauchbaren Hinweis gefunden :(
Hat denn niemand einen Tipp, wie ich das lösen kann ?
(würde mir langfristif seeeeeeeeeehr viel Tipparbeit ersparen ...)
Hallo Dobra,
versuche mal
WHERE [hop_sitm].[ARTNR] IS NULL
mit
WHERE [hop_sitm].[ARTNR] IS NULL
wird überhaupt nichts ausgegeben ???
Weder neue noch alte Varianten - nicht eine einzige Zeile ...
SELECT DISTINCT ([Lang-neu1].ArtNr), hop_sitm.MITEMID, [Lang-neu1].[Bez 1], LCase([Lang-neu1].Farbe) AS Ausdr1, [Lang-neu1].Zusammensetzung, [Lang-neu1].LfLg, [Lang-neu1].Knäuelgewicht, [Lang-neu1].Nadelstärke, [Lang-neu1].EAN_Artikel, [Lang-neu1].Preis, ('Farbe: ' & RIGHT([Lang-neu1].ArtNr, 4) & ', ' & LCASE([Lang-neu1].Farbe)) AS Beschreibung, (RIGHT([Lang-neu1].ArtNr, 4) & ' <br><small>' & LCASE([Lang-neu1].Farbe) & '</small>') AS Varibesch, 'kg' AS csveh, 'div' AS rechne, '0' AS istvari, 'LANG Yarns' AS marke
FROM hop_sitm INNER JOIN [Lang-neu1] ON hop_sitm.MITEMID = [Lang-neu1].MITEMID
WHERE [hop_sitm].[ARTNR] IS NULL
ORDER BY [Lang-neu1].ArtNr;
mit
WHERE [hop_sitm].[ARTNR] IS NOT NULL
werden alle ausgegeben ...
Nächster Versuch ;D
SELECT DISTINCT ([Lang-neu1].ArtNr), hop_sitm.MITEMID, [Lang-neu1].[Bez 1], LCase([Lang-neu1].Farbe) AS Ausdr1, [Lang-neu1].Zusammensetzung, [Lang-neu1].LfLg, [Lang-neu1].Knäuelgewicht, [Lang-neu1].Nadelstärke, [Lang-neu1].EAN_Artikel, [Lang-neu1].Preis, ('Farbe: ' & RIGHT([Lang-neu1].ArtNr, 4) & ', ' & LCASE([Lang-neu1].Farbe)) AS Beschreibung, (RIGHT([Lang-neu1].ArtNr, 4) & ' <br><small>' & LCASE([Lang-neu1].Farbe) & '</small>') AS Varibesch, 'kg' AS csveh, 'div' AS rechne, '0' AS istvari, 'LANG Yarns' AS marke
FROM hop_sitm LEFT JOIN [Lang-neu1] ON hop_sitm.MITEMID = [Lang-neu1].MITEMID AND hop_sitm.ITEMID = [Lang-neu1].ArtNr
WHERE hop_sitm.ITEMID IS NULL
ORDER BY [Lang-neu1].ArtNr;
kommt auch nichts
hop_sitm.ITEMID = [Lang-neu1].ArtNr
da kann aber auch nichts kommen, weil die Shop-Artikelnr. NICHT die Händlernummer ist !
Dann musst du ArtNr ersetzen durch das Feld welches die Shop-Artikelnummer beinhaltet.
Hast mail - wird sonst hier zu "speziell" ....
ahe kann alles ;D
falls das mal jemand braucht ...
so funktioniert es:
FROM [Lang-neu1] LEFT JOIN hop_sitm ON hop_sitm.MITEMID = [Lang-neu1].MITEMID AND [hop_sitm].[ARTNR] = [Lang-neu1].ArtNr
WHERE [hop_sitm].[ARTNR] IS NULL
DANKE ahe :-*
Hast mir echt seeeeeeeeeehr geholfen damit !
= die Arbeit ganz wesentlich vereinfacht und den Zeitaufwand um 80% reduziert 8)