Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 47324

TIA Date and Time sortieren nach altestem zeitpunkt mit vbscript

$
0
0
Hallo,

ich soll eine csv Datei die wie untenstehend aussieht nach dem ältestem zeitpunkt sortieren, mit dem Format "Date" hat es mit bubble sort auch funktioniert.
Anschliessend hab ich dann versucht "Date_and_Time" zu sortieren dabei ist dann das Script hängen geblieben. Ich vermute das es an der Abfrage ob der nächste Wert grösser ist als der aktuelle stehen bleibt.
Die Version ist WINCC advanced V13 Sp1 mit PC- Runtime

Kann mir hier einer weiterhelfen?? Wäre echt toll :)

Danke schonmal im voraus



Die funktionierende Datei sieht so aus:

Artikelnr.;Stückzahl;Werkstücknr.;Solltermin;Palettenplatz;Status;
0;0;0;20.06.2017;1;1;
0;0;0;20.06.2017;2;1;
0;0;0;20.06.2017;3;1;
0;0;0;20.06.2017;4;1;

Die nicht funktionierende sieht so aus:

Artikelnr.;Stückzahl;Werkstücknr.;Solltermin;Palettenplatz;Status;
0;0;0;20.06.2017 14:15:18;2;1;
0;0;0;20.06.2017 14:15:22;3;1;
0;0;0;20.06.2017 14:15:26;4;1;
0;0;0;20.06.2017 14:15:13;1;1;



Hier der Auszug aus meinem Script wo die Bubblke Sort Geschichte gemacht wird
'****************************** Datei zeilenweise einlesen und auf internen Array legen********************************
Do While Not f.AtEndOfStream
MyZf = f.ReadLine
field = Split(MyZf, ";")

For i=0 To 5 ' Zeile zerlege und auf Array legen
HiField(j,i) = field(i) ' Syntax HiField j--> Zeilennr, HiField i--> Spaltennr
Next
j = j + 1 ' Zeilenanzahl erhöhen
Loop
'************************Tabelle sortieren****************************************
Do
tauschen =False
For k = 1 To j-1 'k-->Zeilennr (j-> maximale Zeilenanzahl)

If HiField(k,3) > HiField(k+1 ,3) And HiField(k,3) > 0 Then
Artikel= HiField(k,0)
Stueckzahl= HiField(k,1)
Werkstuecknr= HiField(k,2)
Solltermin= HiField(k,3)
LeerplatzNr= HiField(k,4)
Zustand= HiField(k,5)

'Zellinhalte tauschen
HiField(k,0)=HiField(k+1,0)
HiField(k,1)=HiField(k+1,1)
HiField(k,2)=HiField(k+1,2)
HiField(k,3)=HiField(k+1,3)
HiField(k,4)=HiField(k+1,4)
HiField(k,5)=HiField(k+1,5)

' Original Inhalte in nächste Zelle
HiField(k+1,0)=Artikel
HiField(k+1,1)=Stueckzahl
HiField(k+1,2)=Werkstuecknr
HiField(k+1,3)=Solltermin
HiField(k+1,4)=LeerplatzNr
HiField(k+1,5)=Zustand
tauschen=True
End If
Next
Loop Until Not tauschen

Viewing all articles
Browse latest Browse all 47324


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>