Habs jetzt hinbekommen..
benötige noch einen letzten tipp...
im folgenden code gibt das script fehler aus, wenn werte in der db stehen, die nicht 1:1 mit den Werten aus der txt übereinstimmen.
Nu würde ich aber auch gerne meldungen bekommen, falls ein wert der in der txt stehet nicht in der db tabelle auffindbar ist.
Wert in DB = Jedoch nicht im TXT (Bekomme Meldung)
Wert in TXT = Jedoch nicht in DB (Bekomme keine Meldung) << Das bräuchte ich.. und hänge dabe fest!!!
option Explicit
const msiMessageTypeUser = &H03000000
private sub StatusMessage(ice, kind, text)
Dim rec : Set rec = Session.Installer.CreateRecord(1)
rec.StringData(0) = ice & vbTab & kind & vbTab & text
Session.Message msiMessageTypeUser, rec
end Sub
Function ICE500()
Dim ICE : ICE = "ICE500"
Dim TabName : TabName = "CustomAction"
Dim Cell : Cell = "Action"
Dim dict, fso, file, area, value
Set dict = CreateObject ("Scripting.Dictionary")
Set fso = CreateObject ("Scripting.FileSystemObject")
Set file = fso.OpenTextFile ( _
"C:\Users\Hanni\Desktop\ICE501\ice_validation.txt", 1)
' TXT Datei Bearbeiten
Do While Not file.AtEndOfStream
area = file.ReadLine
If area = "<ICE500>" Then
value =1
End if
If (value =1) And (area = "</ICE500>") Then
value =0
end If
If value = 1 Then
dict.Add area, area
End If
Loop
value = 0
file.Close
Set file = Nothing
Set fso = Nothing
' Standart Infos
StatusMessage ICE, 3, "Validate the " & Cell & " column of the " & TabName _
& " table"
StatusMessage ICE, 3, "Created 14-Jun-2008"
ICE500 = 1
' SQL Statements
dim view : set view = Session.Database.OpenView("SELECT " & Cell & " FROM " _
& TabName & " WHERE " & Cell & " IS NOT NULL")
view.Execute
' Prozess
Dim rec : Set rec = view.Fetch
Do While not (rec Is nothing)
If Not dict.Exists(rec.StringData(1)) Then
StatusMessage ICE, 2, "different Velaues: "& Cell &" " & _
rec.StringData(1) &_
Chr(9) & "" & Chr(9) & TabName & Chr(9) & Cell & "[1]"
ICE500 = 1
End If
Set rec = view.Fetch
ICE500 = 1
Loop
ICE500 = 1
End FunctionHier müsste das entsprechend angepasst werden oder..?
Do While not (rec Is nothing)
If Not dict.Exists(rec.StringData(1)) Then
StatusMessage ICE, 2, "different Velaues: "& Cell &" " & _
rec.StringData(1) &_
Chr(9) & "" & Chr(9) & TabName & Chr(9) & Cell & "[1]"
ICE500 = 1
End If
Set rec = view.Fetch
ICE500 = 1
Loop Danke Elwood! |