Hat sich erledigt. Ich bin total auf den Kopf gefallen. So schwer war die Lösung nicht. Danke an alle die sich die Zeit genommen haben mir zu antworten
Beiträge von bastilla
-
-
Danke schonmal für deine schnelle Hilfe,
nein die CSV Datei hat 100 Zeilen und 2 Spalten also sehr klein. Wie gesagt wenn ich die erwähnte Zeile auskommentiere, dann findet er auch den zweiten Treffer. Der springt ganz sicher beim ersten Treffer bei mir aus der inneren For Schleife. Absolut seltsam das Verhalten
-
Hallo zusammen,
Ich habe hier folgende kleine Funktion:
Code
Alles anzeigenFunc Standardmapping(ByRef $Array, $Mapping) ConsoleWrite("Standardmapping"&@CRLF) For $Reihe = 0 To Ubound($Array,2)-1 For $MappingZeile = 0 To Ubound($Mapping)-1 If StringStripWS($Mapping[$MappingZeile][0],3) = StringStripWS($Array[0][$Reihe],3) Then If StringStripWS($Mapping[$MappingZeile][1],3) <> "" Then $Array[0][$Reihe] = $Mapping[$MappingZeile][1] EndIf EndIf Next Next EndFunc
hier wird ein Array übergeben, in welcher zum Beispiel Heizung in der ersten Zeile drin steht. In dem Mapping befindet sich nun in der ersten Spalte auch Heizung und in der zweiten Spalten Befeuerung. Ausserdem befindet sich in dem Mapping nochmal Heizung un in der zweiten Spalte Heizungsart. Das Problem ist, wenn der erste Treffer gefunden wird und mit der Zeile $Array[0][$Reihe] = $Mapping[$MappingZeile][1] die erste Zuweisung aus dem Mapping erfolg ist, dass dann sofort mit der For $Reihe = 0 To Ubound($Array,2)-1 Schleife weiter gemacht wird statt mit der For $MappingZeile = 0 To Ubound($Mapping)-1. Den aus meiner Sicht Fehler kann man ganz schnell testen. Wenn man die $Array[0][$Reihe] = $Mapping[$MappingZeile][1] auskommentiert, dann läuft die For $MappingZeile = 0 To Ubound($Mapping)-1 Schleife weiter mit der Zuweisung beendet die sich selbstständig. Hat jemand eine Idee zu dem Mysterium? Ich lasse euch gerne auch ein Mapping zukommen, falls das nötig sein sollte.
Vielen Dank