mctini
Goto Top

VBScript - Zeilen mit Daten aus zweiter ergänzen

Ich benötige dringend Hilfe, da ich dies schnell umsetzen muss.

Also ich habe zwei Dateien:

Mitarbeiter.txt mit folgendem Inhalt:

909|Bernhard|2009-12-07|17:40
7078|Müller|2009-12-07|17:40
6562|Meier|2009-12-07|17:50
2119|Sulze|2009-12-07|17:50
8735|Susanne|2009-12-07|18:00

In den Zeilen am Ende steht nun eine Nummer mit Besoldungkürzel, z.B. D1,D7,E22, etc.
Diese Zeilen möchte ich mit der entsprechenden Summe aus der zweiten Datei ergänzen.
Die Mitarbeiter.txt ändert sich permanent während die Besold.txt immer gleich bleibt


dazu gibt es eine besold .Datei
Die kann ich entsprechend anpassen
In diesem Fall sieht die so aus:

Inhalt besold.txt
|D1|2000
|E22|2222
|E2ab|10000
|D6|6666


VB Script
zur Zeit lese ich die Zeilen der mitarbeiter wie folgt aus
Anzahl=10
DateiEin="c:\mitarbeiter.txt"  
DateiAus="C:\mitarbeiterbesoldung.txt"  
T = Split(fso.OpenTextFile(DateiEin).ReadAll, vbCrLF)
Set Ausgabe = fso.CreateTextFile(DateiAus, True) 
	For Each Z In T 
   	                      If Geschrieben < Anzahl Then
                                                   neu = RTrim(Z)   ' Leeerzeichen löschen  
                                            Ausgabe.WriteLine neu   
Hier sollte dann Die gesamte Zeile stehen:
909|Bernhard|2009-12-07|17:40
7078|Müller|2009-12-07|17:40
6562|Meier|2009-12-07|17:50
2119|Sulze|2009-12-07|17:50
8735|Susanne|2009-12-07|18:00

Könnt ihr mir helfen ?????
Kommentar vom Moderator Biber am Dec 07, 2009 um 16:15:02 Uhr
Ich benötige dringend Hilfe, da ich dies schnell umsetzen muss.
So eine halbgare Begründung habe ich seit dem letzten FDP-Parteiprogramm nicht mehr gelesen.
Ist heut Montag? Ich geh jetzt zur Tanke und hol mir erstmal 'nen Korn.

Content-Key: 131154

Url: https://administrator.de/contentid/131154

Printed on: April 25, 2024 at 15:04 o'clock

Member: bastla
bastla Dec 07, 2009 at 21:23:06 (UTC)
Goto Top
Hallo mctini!

Sollte sich etwa so lösen lassen:
Anzahl=10
DateiEin="c:\mitarbeiter.txt"  
DateiAus="c:\mitarbeiterbesoldung.txt"  
DateiBes="c:\besold.txt"  

set fso = CreateObject("Scripting.FileSystemObject")  
T = Split(fso.OpenTextFile(DateiBes).ReadAll, vbCrLf)
Set d = CreateObject("Scripting.Dictionary")  
For Each Z In T
    F = Split(Z, "|")  
    d.Add F(1), F(2)
Next

T = Split(fso.OpenTextFile(DateiEin).ReadAll, vbCrLf)
Set Ausgabe = fso.CreateTextFile(DateiAus, True)
For Each Z In T
    If Geschrieben < Anzahl Then
        neu = RTrim(Z) ' Leeerzeichen löschen  
        F = Split(neu, "|")  
        S = "----"  
        If d.Exists(F(8)) Then S = d.Item(F(8))      
        Ausgabe.WriteLine neu & S
    End If
Next
Grüße
bastla
Member: mctini
mctini Dec 08, 2009 at 08:06:40 (UTC)
Goto Top
Und wieder bist du es bastla....

Du bist cool ..
F = Split(Z, "|") 11.    d.Add F(1), F(2  

daran habe ich nicht gedacht