Thema Datum  Von Nutzer Rating
Antwort
28.10.2017 21:54:45 Francois
NotSolved
Blau Terminzuweisung
29.10.2017 01:34:05 Gast45790
Solved
29.10.2017 01:50:19 Gast87424
NotSolved

Ansicht des Beitrags:
Von:
Gast45790
Datum:
29.10.2017 01:34:05
Views:
513
Rating: Antwort:
 Nein
Thema:
Terminzuweisung

Hallo,

in der Function ReserviereTermin wird das gültige Intervall für Deine Wartungstermine berechnet, in dem blauen Loop wird dieses Intervall festgelegt, das müsstest Du anpassen, wenn die Intervallgrenzen verletzt werden, bleibt j = 0 und die Function steigt bei Exit Function aus und liefert false zurück....

Function ReserviereTermin(ByRef Ma As Maschine) As Boolean
  Dim i As Integer, j As Integer, k As Double, x As Integer
  Dim d(100, 1) As Double
 
  ReserviereTermin = False
  'Suche alle passenden unbelegten Termine
  j = 0
  For i = 0 To UBound(T)
    If T(i).Maschine = "" Then ' Nur wenn der Termin nicht belegt ist
    d(j, 0) = -1
      If (T(i).Datum <= Ma.Wartungsende) And (T(i).Datum > Ma.Wartungsende - MinusZeitraum) Then
        d(j, 0) = i 'Index merken
        d(j, 1) = Abs(T(i).Datum - Ma.Wartungsende) 'Zeitraum zwischen Ablauf Wartung und Termin
        j = j + 1
      End If
    End If
  Next
  If j = 0 Then Exit Function  'Es wurde kein passender Termin gefunden
  'Es wurden j Termine gefunden, jetzt den bestmöglichen Termin ermitteln
  k = MinusZeitraum
  For i = 0 To j - 1
    If d(i, 1) < k Then 'suche kleinsten Zeitraum zwischen Ablauf Wartung und Termin
      k = d(i, 1)
      x = CInt(d(i, 0)) 'Index merken
    End If
  Next
  'Bei Index x ist der beste Termin
  T(x).Maschine = Ma.Maschine
  Ma.Termin = T(x).Datum
  ReserviereTermin = True
End Function


Gruß,


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
28.10.2017 21:54:45 Francois
NotSolved
Blau Terminzuweisung
29.10.2017 01:34:05 Gast45790
Solved
29.10.2017 01:50:19 Gast87424
NotSolved