vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 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
Mein Vorschlag 
Autor: ModeratorDieter (Moderator)
Datum: 21.08.01 11:26

Hi Michael,

also das Füllen der Datumswerte direkt beim automatischen Füllen des Flexgrids ist nicht möglich. Die Urlaubstage (Datumswerte) müssen demnach manuell nach dem Füllen des Grids berechnet und ausgegeben werden.

Voraussetzung, daß nachfolgender Code funktioniert, ist dass die Felder Urlaub_Von und Urlaub_Bis korrekt als Datumsfelder per CDate(...) umgewandelt werden können.

Und hier der Code:
<code>Private Sub Fill_Urlaubstage()
  Dim Datum_Von As Date
  Dim Datum_Bis As Date
  Dim Urlaubstage As String
  Dim lRow As Long  
 
  With MSFlexGrid1
    <font color=green>' FlexGrid um eine Spalte erweitern</font>
    .Cols = 5
 
    <font color=green>' FlexGrid durchlaufen und Datumswerte berechnen</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>' Urlaubstage ermitteln</font>
      While Datum_Von <= Datum_Bis
        Urlaubstage = Urlaubstage & _
          Format$(Datum_Von, "dd.mm.") & ", "
 
        <font color=green>' nächster Tag</font>
        Datum_Von = DateSerial(Year(Datum_Von), _
          Month(Datum_Von), Day(Datum_Von) + 1)
      Wend
 
      <font color=green>' unnötiges Komma und Leerzeichen entfernen</font>
      If Right$(Urlaubstage, 2) = ", " Then _
        Urlaubstage = Left$(Urlaubstage, Len(Urlaubstage) - 2)
 
      <font color=green>' Urlaubstage in FlexGrid eintragen</font>
      .Col = 4: .Text = Urlaubstage
      .CellBackColor = vbGreen
 
      <font color=green>' nächster Datensatz</font>
      lRow = lRow + 1
    Wend
  End With
End Sub</code>
Probier's mal aus!

Cu
Dieter
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Dieter, meine vorankündigung von gestern51Michael21.08.01 08:42
Wie sieht es denn bisher aus?255ModeratorDieter21.08.01 08:51
bisheriger Code35Michael21.08.01 09:01
Aufbau des FlexGrids?280ModeratorDieter21.08.01 10:18
Re: Aufbau des FlexGrids?25Michael21.08.01 10:25
FlexGrid oder DataGrid?283ModeratorDieter21.08.01 10:59
Re: FlexGrid oder DataGrid?25Michael21.08.01 11:03
Mein Vorschlag274ModeratorDieter21.08.01 11:26
Datum liegt als...24Michael21.08.01 11:37
Normalerweise kein Problem...261ModeratorDieter21.08.01 11:44
die Funktion habe ich jetzt ....37Michael21.08.01 11:51
Dann eben so 261ModeratorDieter21.08.01 11:59
jetzt ist es das was ich eigentlich....23Michael21.08.01 12:12
vielleicht doch noch eine kleine Änderung ! 24Michael21.08.01 12:40
Leider ist mir noch etwas eingefallen wo ich jetzt noch nich...26Michael21.08.01 12:48
Re: vielleicht doch noch eine kleine Änderung ! 264ModeratorDieter21.08.01 12:55
Re: vielleicht doch noch eine kleine Änderung ! 20Michael21.08.01 13:02
Re: vielleicht doch noch eine kleine Änderung ! 275ModeratorDieter21.08.01 13:08
Überlegt22Michael21.08.01 13:25
Geproggt 264ModeratorDieter21.08.01 14:10
Urlaubsart54Michael21.08.01 17:37

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