Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Daten einlesen von externer Webseite

Begonnen von newbie2010, September 04, 2010, 17:53:25

⏪ vorheriges - nächstes ⏩

newbie2010

Hallo,
ich möchte meine veralteten EK-Preise jeweils mehrmals die Woche über die jeweilige Lieferanten-Homepage abgleichen. Dies sind meist Onlineshops auf Basis von XtCommerce. Per ODBC ist keine direkte Verbindung möglich.

Ist eine Verbindung von Access zum Onlineshop überhaupt möglich? Wie muß ich hier vorgehen? Ich bin auf dem Gebiet eigentlich ein völliger Newbie.

Vielen Dank für Euere Ideen.

database

Hallo,

Zitatüber die jeweilige Lieferanten-Homepage abgleichen
Wenn du damit andeuten willst, dass du per Access also mittels VBA die HTML-Seiten auslesen möchtest ...  oje :o :o
Es ist zwar machbar, aber der Aufwand eine HTML Seite zu durchsuchen um Einträge zu finden die deiner beschriebenen Relevanz entsprechen, ist einfach zu hoch.

Anders ist es, wenn du Zugriff auf die Datenbank des Lieferanten bekommst, dann kann mit Access sehr wohl die dort hinterlegte Preisinfo abgefragt werden.
Die letztgültige Version von xt:Commerce, VEYTON 4.0 Enterprise hat lt. Hersteller im Backend eine MySQL 5 oder Oraqcle 7/8 am laufen.
Das größte Hindernis dabei wird aber die Berechtigung sein, auf die Datenbank zuzugreifen   :-\

ZitatPer ODBC ist keine direkte Verbindung möglich
Wundert mich nicht, da ich mir nicht vorstellen kann, dass man als irgendwer aus dem Netz so einfach Zugang zu diesen Datenbanken bekommt. ;D

Hast du schon mal versucht vom Lieferanten den aktuellen Preiskatalog in elektronischer Form zu erhalten, etwa als Excel-Datei oder in einem anderen durch Access lesbaren Format (*.csv, *.txt, ...)?

Gruß
Peter

newbie2010

Hallo,
danke für Deine Nachricht. Die meisten meiner Liefernaten haben keine Preisliste in elektronischer Form. Das ist genau das Problem.

Gibt es evtl. ein gutes Export-Tool für XTCommerce oder Veyton 4, das ich dann meinen Lieferanten vorschlagen könnte?

Aber auch wenn ich jetzt eine CLV-, TXT- oder auch eine PDF-Datei von meinen Lieferanten bekommen würde, hätte ich immer noch das Problem, das gerade bei textbasierenden Dateien die Spalten oft verschoben werden. Dadurch gibt es häufig Probleme beim Abgleich, oder? Vielleicht kann mir vorab jemand dazu einen Tip geben, wie ich hier vorgehen kann.

Hier aber eine etwas detailiertere Beschreibung meines Vorhabens:
Ich habe eine CLV-Datei beispielsweise "ArtikelAlt", die meinen kompletten Warenstamm enthält. Diese möchte ich nun mit der CLV-Datei  meines Lieferanten abgleichen. Dabei soll mir Access die Artikel anzeigen bzw. markieren, deren EK-Preise sich verändert haben.

Ich bin Euch für alle Tipps bzw. Anhaltspunkte zum weiteren Vorgehen sehr dankbar.

Gruß,
newbie2010

database

#3
Hallo,

ZitatGibt es evtl. ein gutes Export-Tool für XTCommerce oder Veyton 4, das ich dann meinen Lieferanten vorschlagen könnte
Das müsstest du dann mal selbst beim Hersteller dieser Sofware recherchieren....
Kann mir aber gut vorstellen, dass MySQL und Oracle diese Funktionalitäten in deren DBMS zur Verfügung stellen ;)

ZitatAber auch wenn ich jetzt eine CLV-, TXT- oder auch eine PDF-Datei von meinen Lieferanten bekommen würde, hätte ich immer noch das Problem, das gerade bei textbasierenden Dateien die Spalten oft verschoben werden
CLV ... kenn ich nicht!  ??? CSV bedeutet Character Separated Values und wenn diese
entsprechend der RFC 4180 aufgebaut sind (wird in der Regel so gehandhabt, besonders bei Datenexporten aus namhaften Datenbanksystemen),
beinhaltet jeder Datensatz auch noch die gleiche Anzahl von Spalten. ::)

Excel-Dateien sind ebenfalls kein Problem, bei Textdateien (TXT) müsste man schauen wie weit sie einer *.CSV nahe sind.

Bei PDF-Dateien hast du wahrscheinlich nur die Möglichkeit, diese einzurahmen und dann an einem schönen Platz an die Wand zu hängen - die kannst du
nicht so ohne Weiteres auslesen, es sei denn sie ist nicht gesperrt und du verfügst über einen pdf-Writer (z.B. Adobe PDF-Writer)
(nicht zu verwechseln mit einem PDF-Printer, der kann gar nix in dem Fall. :-\ )

Zu deiner Beschreibung:
Ich gehe davon aus, dass du deine Artikel und EK-Preise in einer Accesss-DB als Tabelle vorliegen hast!
Wenn nicht, KANNST du diese natürlich mittels der CSV-Datei 'ArtikelAlt' in Access IMPORTIEREN
Wenn du über ein CSV-Datei verfügst, welche die neuen Preisinformationen enthält, KANNST du diese ebenfalls in Access IMPORTIEREN.
Ab diesem Zeitpunkt stehen dir ALLE Funktionalitäten zur Verfügung, die du auch mit original Access-Tabellen hättest. Also jegliche Form von Abfragen,
Datenmanipulationen oder Verwendung in Formularen und Berichten ohne Einschränkungen.

HTH
Peter

newbie2010

Vielen Dank für Deine erneute Nachricht. Leider, das habe ich schon erwähnt, bin ich ein völliger Anfänger, was Access angeht.

Ich möchte nun meine "ArtikelAlt" Datei mit der neuen Lieferantendatei abgleichen. Während des Abgleichs soll mir Access auflisten, welche Artikel sich vom EK-Preis her geändert haben, um so natürlich auch den VK-Preis ändern zu können. Natürlich sollen die Artikel daraufhin mit den aktualisierten EK- und VK-Preisen wieder in die "ArtikelAlt" Datei importiert werden. Das geht sicherlich nur mit VBA. Jetzt die große Frage, wie?

Vielen, vielen Dank für Euere Tipps.

database

Hallo, guten Morgen,

ZitatIch möchte nun meine "ArtikelAlt" Datei mit der neuen Lieferantendatei abgleichen

Dazu solltest du BEIDE Dateien in Access IMPORTIEREN, so wie ich im vorangegangenem Posting geschrieben habe.
Zitat
Zu deiner Beschreibung:
Ich gehe davon aus, dass du deine Artikel ...

Wenn beide Tabellen im Access als ACCESS-TABELLEN vorhanden sind, solltest du mit Hilfe einer Aktualisierungabfrage wobei die Artikelnummer als Schlüssel fungiert, einen Vergleich der EK-Preise durchführen können.
Bei nicht übereinstimmung weist du dem Feld EK-ALT den Wert aus EK_NEU zu.
Das sollte es gewesen sein - OHNE VBA

HTH

Peter

newbie2010

Danke für die Antwort. Aber wie würde eine solche Funktion lauten? Ich habe es mit einer Vergleichsoperation unter Kriterien versucht. Es funzt nicht. Meine beiden Tabellen sind aufgebaut, wie folgt:

EKALT

Artikelnummer
Produktname
.
.
EKPreis

EKNEU

Artikelnummer
Produktname
.
.
EKPreis

Wäre cool, wenn Du mir diese Funktion kurz definieren könntest. Danke!

database

Hallo,

in der Annahme, dass du bereits BEIDE Tabellen im Access stehen hast (EKALT und EKNEU)
KANNST du im Abfrageentwurf ... SQL-Ansicht folgendes eintragen:


UPDATE EKALT INNER JOIN EKNEU ON EKALT.Artikelnummer = EKNEU.Artikelnummer
SET EKALT.EKPreis = EKNEU.EKPreis
WHERE EKALT.EKPeis<>EKNEU.EKPreis;


Sollte dein Problem beheben...  8)

p.s. Originaltabellen VOR der Ausführung SICHERN!!

newbie2010

Bei dieser Abfrage soll ich einen Parameterwert für EKALT.EKPreis eingeben. Access soll jedoch nur die Tabelle "EKNeu" mit "EKALT" vergleichen .

Wie muß ich dafür die SQL-Anweisung ändern? Vielen Dank!

database

Hallo,

ZitatBei dieser Abfrage soll ich einen Parameterwert für EKALT.EKPreis eingeben

Dann wird dieses Feld nicht EKPreis heißen sondern einen anderen Namen haben - das wäre dann die Änderung, die du vornehmen musst.

newbie2010

Liegt es am Variablentyp der beiden EKPreis-Datensätze? Ich hatte beiden bisher den Variablentyp "Text" zugewiesen. Welchen Variablentyp muß ich dem EKPreis zuweisen, dass es funktioniert? Danke!

database

Grüß dich,

ZitatIch hatte beiden bisher den Variablentyp "Text" zugewiesen

Ähemmm ....   Einkaufspreis ???  wieso Text als Felddatentyp ???  Ein Vergleich in der Form 'Katz' <> 'Hund' ist ja als solches auch nicht möglich.  ;D

Es handelt sich dabei NICHT um Variablen sondern um Tabellenfelder! Zwischen diesen beiden besteht ein RIESENGROSSER Unterschied!

Nimm Felddatentyp Zahl, und in den Eigenschaften der Felder stelle als Feldgröße Single ein - Single sollte eigentlich reichen.

newbie2010

Das habe ich jetzt auch so eingestellt. Aber es wird immer noch vorab nach einem Parameterwert gefragt. Liegt es evtl. an der Access 2010er Version, die ich installiert habe. Ich stelle mich ein wenig blöd an. Ich kriege langsam die Kriese mit dieser Microsoft Sch.... . Sorry!  Was mache ich denn falsch? Muß ich in den Optionen etwas umstellen? Es ist eigentlich eine einfache SQL-Abfrage. Keine Ahnung. Falls Du noch ein wenig Geduld mit mir hast, so antworte mir doch bitte. Danke!

oma

Hallo,

Database wird Dir schon weiterhelfen!

Ich habe nur mal eine Bemerkung, da folgendes öfters anzutreffen ist:

ZitatIch kriege langsam die Kriese mit dieser Microsoft Sch.... . Sorry! 

und das von einem Newbie mit ziemlicher Unkenntnis vom Microsoft-Produkt!

Nicht für Ungut, es wird schon werden.

Gruß Oma
nichts ist fertig!

database

Hallo, ...

was sind denn das für Worte ?

Zitatso antworte mir doch bitte
Sicher habe ich die Geduld - wenn auch du ein wenig Geduld aufbringen kannst, ich gehe schließlich auch noch einer Erwerbstätigkeit nach um vorm PC nicht zu verhungern. ;)

Stell mal die DB mit den beiden Tabellen GEZIPT hier rein, ich schau mir das am Echtsystem an.