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 07.12.2009 um 17: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-ID: 131154

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

Ausgedruckt am: 15.11.2024 um 23:11 Uhr

bastla
bastla 07.12.2009 um 22:23:06 Uhr
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
mctini
mctini 08.12.2009 um 09:06:40 Uhr
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