Hallo Zusammen mein, ich heiße Franz versuche unser altes Zeitbuchungsprogram zu retten
Ich sitze hier als NixChecker vor einem altem VB6.0 Quellcode und schaffe es nicht mir das folgende zu übersetzten bzw den eventuell enthaltenen Fehler zu entdecken.
Das Program wurde 2002 geschrieben von einem Kollegen den es nicht mehr gibt, das Program war hardcoded bis 2015 wo durch wir anfang diesen Jahres etwas in Bedrängnis gekommen sind.
Mit eben einer alten Version des Quellcodes konnte ich das Program wieder zum laufen bringen lediglich eine Funktion macht mir Kopfzerbrechen und ich hoffe einer von euch kann mir den Fehler aufzeigen.
Dieser Teil soll aus der Oracle DB die bereits verbrauchten Urlaubstage auslesen (einzelnen Zeilen mit jeweils der Anzahl an gebuchten Tagen) und von den in der DB eingetragenem Kontingent z.B. 25 abziehen und somit den Resturlaub anzeigen. Der Datenbestand in der DB bez verbrauchter/gebuchter Tage stimmt (angenommen 9 Buchen zu gesamt 25 Tagen) das Saldo in der DB ist mit 26 eingetragen. Das Output nach diesem Code ist jedoch -26
Ich wäre wirklich Dankbar wenn mir jemand den Fehler aufzeigen könnte da ich eigentlich keine VB Kenntnisse habe und nur kleinste logische Fehler beheben kann.
Mfg Franz
Ich sitze hier als NixChecker vor einem altem VB6.0 Quellcode und schaffe es nicht mir das folgende zu übersetzten bzw den eventuell enthaltenen Fehler zu entdecken.
Das Program wurde 2002 geschrieben von einem Kollegen den es nicht mehr gibt, das Program war hardcoded bis 2015 wo durch wir anfang diesen Jahres etwas in Bedrängnis gekommen sind.
Mit eben einer alten Version des Quellcodes konnte ich das Program wieder zum laufen bringen lediglich eine Funktion macht mir Kopfzerbrechen und ich hoffe einer von euch kann mir den Fehler aufzeigen.
Dieser Teil soll aus der Oracle DB die bereits verbrauchten Urlaubstage auslesen (einzelnen Zeilen mit jeweils der Anzahl an gebuchten Tagen) und von den in der DB eingetragenem Kontingent z.B. 25 abziehen und somit den Resturlaub anzeigen. Der Datenbestand in der DB bez verbrauchter/gebuchter Tage stimmt (angenommen 9 Buchen zu gesamt 25 Tagen) das Saldo in der DB ist mit 26 eingetragen. Das Output nach diesem Code ist jedoch -26
Ich wäre wirklich Dankbar wenn mir jemand den Fehler aufzeigen könnte da ich eigentlich keine VB Kenntnisse habe und nur kleinste logische Fehler beheben kann.
Mfg Franz
Visual Basic-Quellcode
- ' ORACLE_READY
- Public Function get_verbrauchten_urlaub(nameid As Byte, Optional datum1 As Date) As Single
- Dim tage As Single
- tag = Format(datum1, "dd") & "." & Format(datum1, "mm") & "." & Format(datum1, "yyyy") & " " & Format(datum1, "hh") & ":" & Format(datum1, "nn") & ":" & Format(datum1, "ss")
- Dim MONATSdaten(31) As monatsdaten_typ
- If tag <> "30.12.1899 00:00:00" Then
- DSGruppe1_oeffnen "SELECT count(awid) from schichtplan where awid=3 and USER_DATENID=" & nameid & " AND Datum<=TO_DATE('" & tag & "','DD.MM.YYYY HH24:MI:SS')"
- Else
- DSGruppe1_oeffnen "SELECT count(awid) from schichtplan where awid=3 and USER_DATENID=" & nameid
- End If
- If Not DSGruppe1.EOF Then tage = CSng(DSGruppe1(0))
- If tag <> "30.12.1899 00:00:00" Then
- DSGruppe1_oeffnen "SELECT tage FROM U_Saldo WHERE userID =" & nameid & " AND Datum<=TO_DATE('" & tag & "','DD.MM.YYYY HH24:MI:SS')"
- Else
- DSGruppe1_oeffnen "SELECT tage FROM U_Saldo WHERE userID =" & nameid
- End If
- Do While Not DSGruppe1.EOF
- get_verbrauchten_urlaub = get_verbrauchten_urlaub + DSGruppe1(0)
- DSGruppe1.MoveNext
- Loop
- get_verbrauchten_urlaub = get_verbrauchten_urlaub - tage
- End Function
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „slider83“ ()