vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Immer mit der Ruhe, denn in der Ruhe liegt die Kraft  
Autor: ModeratorDieter (Moderator)
Datum: 23.08.01 00:24

Hi Michael,

hier der fertige Code:
<code>Private Sub Fill_Urlaubstage()
  Dim Datum_Min As Date
  Dim Datum_Max As Date
  Dim Datum_Von As Date
  Dim Datum_Bis As Date
  Dim Urlaubstag As String
  Dim lRow As Long
  Dim lCols As Long
  Dim lCol As Long
  Dim nTage As Long
  Dim nBeg As Long
  Dim I As Long
  Dim UrlaubsArt As String
 
  With MSFlexGrid1
 
    <font color=green>' Datumsspanne ermitteln</font>
    lRow = 1
    While lRow < .Rows
      .Row = lRow
 
      .Col = 2
      If CDate(.Text) < Datum_Min Or lRow = 1 Then _
        Datum_Min = CDate(.Text)
 
      .Col = 3
      If CDate(.Text) > Datum_Max Or lRow = 1 Then _
        Datum_Max = CDate(.Text)
 
      lRow = lRow + 1
    Wend
 
    <font color=green>' notwendigen Spalten hinzufügen und beschriften</font>
    nTage = DateDiff("d", Datum_Min, Datum_Max) + 1
    lCols = .Cols
    .Cols = .Cols + nTage
    .Row = 0
    For I = lCols To lCols + nTage - 1
      .Col = I: .Text = DateAdd("d", I - lCols, Datum_Min)
    Next I
 
    <font color=green>' FlexGrid durchlaufen und Farbbalken eintragen</font>
    lRow = 1
    While lRow < .Rows
      .Row = lRow
 
      <font color=green>' Urlaub von</font>
      .Col = 2: Datum_Von = CDate(.Text)
 
      <font color=green>' Urlaub bis</font>
      .Col = 3: Datum_Bis = CDate(.Text)
 
      <font color=green>' Urlaubsart ermitteln (das ist aber Deine Aufgabe)
      ' in .Col = 0 steht die PersonalNr, anhand derer
      ' Du ja sicherlich in der Tabelle Urlaub_Gesamt
      ' nachschauen kannst...
 
      ' Für das Beispiel setze ich die Urlaubsart einfach
      ' mal auf "Urlaub"</font>
      UrlaubsArt = "Urlaub"
 
      <font color=green>' Anzahl Urlaubstage</font>
      nTage = DateDiff("d", Datum_Von, Datum_Bis) + 1
      nBeg = DateDiff("d", Datum_Min, Datum_Von)
      For I = 4 + nBeg To 4 + nBeg + nTage - 1
        .Col = I
        Select Case UrlaubsArt
          Case "Urlaub"
            .CellBackColor = vbRed
          Case "Sonderurlaub"
            .CellBackColor = vbBlue
          Case "Überstunden"
            .CellBackColor = vbGreen
        End Select
      Next I
 
      <font color=green>' nächster Datensatz</font>
      lRow = lRow + 1
    Wend
  End With
End Sub</code>
Cu
Dieter
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Hallo Dieter, ich will Dich....81Michael22.08.01 18:01
Immer mit der Ruhe, denn in der Ruhe liegt die Kraft 257ModeratorDieter23.08.01 00:24
SUPER !37Michael23.08.01 08:49

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel