Jump to content

Bankholiday Inkl. Zeitabfrage - Falsche Ergebnisse


FabianBecker

Recommended Posts

Hallo zusammen,

 

ich hoffe jemand von Euch kann mir weiterhelfen.

 

Folgendes Problem:

 

Wir haben einen Kunde mit einer Swyx 2015. BankHoliday funktioniert bis dato einwandfrei. Nun wollen wir das ganze um den Zeitfaktor erweitern, das heißt die Swyx soll aus der Bankholiday.txt eine Zeitspanne auslesen können. Z.B.: 07.01.2015 08:00 - 07.01.2015 12:00

 

Wir haben das ganze nach diesem Artikel erweitert:

 

admin edit: broken link

 

 

 

 

 

 

 

 

 

 

 

Leider funktioniert das nicht. Unser Code sieht wie folgt aus:

 

 

' FileOpen iomode Values

Const fsoForReading   = 1

Const fsoForWriting   = 2

Const fsoForAppending = 8


' Bankholiday Filename

Const sBHFilename     = "bankholiday.txt"


Function IsBankHoliday ( vDate )


	Dim wsh, fso, file

	Dim sDir, sFile, sLine

	Dim bReturn, nPos

	Dim bRange, aRange, vStart, vEnd

	Dim count



	bReturn = False


	sFile = "C:\test\bankholiday.txt"


	' Create FileSystemObejct

	Set fso = CreateObject("Scripting.FileSystemObject")


	' Open text file 

	Set file = fso.OpenTextFile(sFile, fsoForReading)


do while (not (file.AtEndOfStream)) and (not bReturn)



  sLine  = file.ReadLine

  bRange = False

  aRange = Split(sLine, ";")


  if IsDate(aRange(0)) then


    vStart = CDate(aRange(0))

    if UBound(aRange) > 0 then

      if IsDate(aRange(1)) then

        bRange = True

        vStart = CDate(aRange(1))

      end if

    end if


    if not bRange then

      if (DateDiff("d", vDate, vStart) = 0) then bReturn = True

    else

      if (DateDiff("n", vStart, vDate) > 0) and _

         (DateDiff("n", vEnd, vDate) < 0) then bReturn = True

    end if


  end if


loop

	file.Close 


	Set file = Nothing

	Set fso  = Nothing


	IsBankHoliday = bReturn


End Function

 

In der Liste ist folgender Inhalt: 09.07.2015 14:07;09.07.2015 14:15

 

 

 

 

 

Dies greift aber nicht. Ich bekomme immer die Verbindung auf "No Bank Holiday".

 

 

Wenn ich in die Liste 09.07.2015 schreibe zieht dies sofort.

 

 

 

 

 

Die Regionaleinstellungen am Server passen (TT.MM.JJJ HH:MM)

 

 

 

 

 

Das Skript an sich läuft, denn ich bekomme keine Fehler im Eventlog oder Trace.

 

 

 

 

 

Könnt ihr mir hier weiterhelfen?

 

 

 

 

 

Vielen Dank vorab!

 

 

 

 

 

Freundliche Grüße 

 

 

Fabian

 

 

 

 

Link to comment
Share on other sites


Das Problem dürfte hier liegen:



vStart = CDate(aRange(0))
if UBound(aRange) > 0 then
if IsDate(aRange(1)) then
bRange = True
vStart = CDate(aRange(1))
end if
end if

 

Das sollte vEnd sein, soweit ich das auf den ersten Blick sehe...

 



vStart = CDate(aRange(0))
if UBound(aRange) > 0 then
if IsDate(aRange(1)) then
bRange = True
vEnd = CDate(aRange(1))
end if
end if

Link to comment
Share on other sites


Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and have taken note of our Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.