Registriert seit: 08.11.2018
Version(en): 2007
Hi Zwenn!
Klappt super, allerdings werden bei 5 Sekunden immer noch manche xml nicht erfasst, während bei 10 Sekunden immer alles abgefragt wird.
Ich probiere mal weiter mit 6, 7 oder 8 Sekunden.
Die Anzahl der Datensätze zu variieren, klappt mit größer 1 = 2 oder 5 oder eben 10, aber leider nicht mit 1.
anzahlDatensaetze = 1 'optional, wenn weggelassen, werden alle eingelesen
Hast Du da eine Idee?
Gruss
Peter
Registriert seit: 12.02.2019
Version(en): 365
30.03.2019, 15:10
(Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2019, 15:11 von Zwenn.)
Hi Peter,
wenn Du die Wartezeit so hoch setzen musst damit es klappt, liegt es in der Tat am Server, von dem Du die Daten abrufst. Aber gut, am Ende zählt, dass es funktioniert. Auch wenn es somit natürlich viel länger dauern wird die Ergebnisse zu bekommen. Aber was solls ... Man kann auch gerne mal zwei statt einen Kaffe einnehmen :32:
Um auch einen Datensatz pro Datei auslesen zu können und nicht nur für die erste, musst Du folgende Zeile in der Prozedur
AlleXMLsAbrufen() ändern:
(Hatte vergessen, dass man das anpassen muss, wenn es keine Kopfzeile gibt)
Code:
If Sheets(ergebnisTabelle).Cells(Rows.Count, 1).End(xlUp).Row = 1 Then
Erweitern in:
Code:
If Sheets(ergebnisTabelle).Cells(Rows.Count, 1).End(xlUp).Row = 1 And Sheets(ergebnisTabelle).Cells(1, 1) = "" Then
Viele Grüße,
Zwenn
Folgende(r) 1 Nutzer sagt Danke an Zwenn für diesen Beitrag:1 Nutzer sagt Danke an Zwenn für diesen Beitrag 28
• PeterN
Registriert seit: 08.11.2018
Version(en): 2007
Jippppppiiiiiiiiiii!!!
Super! Danke!
Registriert seit: 12.02.2019
Version(en): 365
Da freut sich aber einer :87:
Darf ich mal fragen, wozu Du die ganzen Daten brauchst und wie Du sie weiter verwendest? Ist reine Neugierde.
Falls Du öfter eine Änderung der Anzahl der auszulesenden Datensätze pro XML brauchst, kann man auch eine Zelle in der URL Tabelle vorsehen, in der Du einfach nur die Zahl eintragen musst.
Registriert seit: 08.11.2018
Version(en): 2007
31.03.2019, 16:44
(Dieser Beitrag wurde zuletzt bearbeitet: 31.03.2019, 17:16 von WillWissen.
Bearbeitungsgrund: Formatierung
)
Hi Zwenn!
Die Abfragen laufen super, nur das es (zeitweise) leider auf 100 eine Abfrage gibt die keinen Wert liefert, weil es in der xml (aktuell) keine(n) Wert(e) gibt.
Das verschiebt natürlich die ganze Ergebnisliste um eins, zwei, drei nach unten und macht sie mehr oder weniger unbrauchbar.
Es gibt ganz oben in der xml einen einmaligen Wert:
Code:
<totalresults>MENGE</totalresults>
Normalerweise ist dieser Wert immer einiges über 10, aber manchmal leider eben 0:
Code:
<totalresults>0</totalresults>
Hast Du eine Idee wie man die Zeile
mit abfragen kann und bei 0 zum Beispiel statt des (nicht vorhandenen) Ergebnisses jeweils viermal 0 in die Zeile schreibt?
Dann wäre die Zeile vorhanden, ich würde Sie gleich erkennen und könnte dementsprechend handeln.
Danke und Gruss
Peter
Registriert seit: 12.02.2019
Version(en): 365
01.04.2019, 11:47
(Dieser Beitrag wurde zuletzt bearbeitet: 01.04.2019, 12:01 von Zwenn.)
Hallo Peter,
dazu fallen mir zwei Lösungsansätze ein. Man kann entweder den Wert verarbeiten, den Du genannt hast oder man geht davon aus, dass es keine Ergebnisse für eine Datei gibt, wenn keine result-Tags geunden wurden. Ich tendiere zur ersten Lösung, weil das die 'direkte' Aussage ist. Ich habe allerdings erst heute Abend Zeit mich darum zu kümmern.
Brauchst Du dann 10x eine 'Nullzeile', um einen ganzen Block zu haben oder reicht Dir dann eine Zeile, nur zum Markieren sozusagen?
Viele Grüße,
Zwenn
Registriert seit: 08.11.2018
Version(en): 2007
Hi Zwenn,
ich tendiere auch zur ersten Lösung.
Was die Nullzeilen betrifft, würde ich das Thema von der Menge der abgefragten Zeilen abhängig machen.
Also bei einem Wert eine Zeilen mit Nullen und bei 10 dann am "besten" 10 Zeilen mit Nullen. Grundsätzlich würde auch eine Null in einer Zeile reichen, egal ob ein oder x Werte.
Da ich die Daten aber blockweise weiterverarbeite, wäre die Orientierung an der abgefragten Menge pro xml am "schönsten".
Also dann z.B. 10x eine "Nullzeile.
Gruss
Peter