Search  

   

Latest News  

Problemstellung:Wenn man Etiketten drucken will steht man oft vor einigen Problemen.1. Man möchte nur ein paar Etiketten drucken und beim nächsten Druck braucht man wieder   ein neues Blatt weil freie...
   

Latest Forumposts  

  • Keine Beiträge vorhanden
   

Kommentare  

Tut mir leid Hella, ich kann Dir nicht folgen? 13.04.2017 - 14.04.2017 ergibt bei mir 1 13.04.2017 -...
Gast - Hella
Hallo, Berechne wie folgt, ob "zu früh" oder "zu spät" Rückmeldet. Früher sollte auch mit negativer ...
Gast - Hella
Hallo, mit negativen Werten meine ich z.B. -5 Tage (ohne Wochenende) u.ä. Zur Zeit wird nur die 0 au...
Hallo Hella, wie negative Werte? Kannst Du es erläutern was Du machen willst? Gruß Tommy
Gast - Hella
Hallo, ich bräuchte auch negative Werte bei der Anzahl, wie kann man das realisieren? Liebe Grüße He...
   

Counter  

1113837
HeuteHeute568
GesternGestern1041
Diese WocheDiese Woche568
Dieser MonatDieser Monat22049
GesamtGesamt1113837
Highest 07.12.2017 : 1250
US
UNITED STATES
US

This page uses the IP-to-Country Database provided by WebHosting.Info (http://www.webhosting.info), available from http://ip-to-country.webhosting.info

   

Download Statistik  

Diese Site enthält 187 Downloads in 30 Kategorien. Gesamtdownloads bisher: 234281
   
Free live stats and visitor counter for Joomla, Wordpress, Drupal, Magento and Prestashop
   

Login

   

User Online

Total: 66 Members: 0 Guests: 66
No members online
   

Beiträge

Beispiel für einen Belegungsplan

Bewertung:  / 0
SchwachSuper 
Details

Problemstellung:
Wie kann ich Daten grafisch darstellen?
z.B. einen Belegungsplan für eine Pension, Autovermietung, Maschinenbelegung o.ä.

Dieses Bsp. zeigt nur die grafische Umsetzung und stellt kein Buchsprogramm usw. dar!

Voraussetzungen:
Das Bsp ist unter A00-A10 lauffähig

unter A07 / A10 muss sich Bsp-DB in einen „Vertrauenswürdigen Standort“ befinden

 

Funktionsweise:
So in etwa soll das Ergebnis aussehen:

Hier im Bsp. habe ich mal eine kleine Pension abgebildet die 4 Etagen hat.
Oben im Formular wird das Datum angezeigt.

Sind Zimmer am gewählten Datum Frei sind diese grün, gelb bedeutet Reserviert und Rot ist belegt.

3 Tabellen sind erforderlich und eine ist optional.

Tabelle "tbl_Zimmer", "tbl_Kunden" und "tbl_Belegung"

Die Tabelle "tbl_Art" enthalt die Farbcodes für den jeweiligen Status. Das könnte aber auch im Code übergeben werden.

Das Form ist recht simpel gehalten, wobei ich nicht auf den oberen Teil mit dem Datum und den Buttons eingehe da

diese selbst erklärend sind.

Für jedes Zimmer wird ein Bezeichnungsfeld anlegt und erhält als Beschriftung die Zimmernummer und als Farbhintergrund "Grün"

Wichtig ist die Benennung der Bezeichnungsfelder. Hier im Bsp. habe ich den Präfix "z" und die Zimmernummer gewählt.

Warum das so ist dazu kommen wir jetzt.

1. Holen der Farbe für die freien Zimmer (Funktion "fcDomWert" s. Modul "mod_Tool"):

Option Compare Database
Option Explicit
Dim nFreeColor As Long
Private Sub Form_Load()
    nFreeColor = fcDomWert("ArtCol", "tbl_Art", "[ArtArt]=" & "'Frei'", ltDLookup)
End Sub

2. Reset der Felder:

Private Sub ResetBelegung()
    Dim frm As Form, ctl As Control
    Set frm = Me
    For Each ctl In frm.Controls
        If ctl.ControlType = acLabel And Left(ctl.Name, 1) = "z" Then ctl.BackColor = nFreeColor
    Next
End Sub

Es werden alle Controls im Form durchlaufen und ist es ein Bezeichungsfeld und beginnt mit "z" dann wird die Backcolor auf "Frei" gesetzt.

3. Einfärben der Label

Private Sub Belegung()
    Dim sDate As String
    Dim sSQL As String
    Dim vSet As Variant
    Dim rsBelegung As DAO.Recordset
    'SQL konformes Datum
    sDate = Sqldatum(Me.txt_Dat)
    sSQL = "SELECT tbl_Zimmer.ID_Zimmer, tbl_Zimmer.ZimmerNr, tbl_Belegung.ID_Kunde, tbl_Belegung.Datum_Von, tbl_Belegung.Datum_Bis, tbl_Art.ArtCol " & _
           "FROM tbl_Art INNER JOIN (tbl_Kunden INNER JOIN (tbl_Zimmer INNER JOIN tbl_Belegung ON tbl_Zimmer.ID_Zimmer = tbl_Belegung.ID_Zimmer) " & _
           "ON tbl_Kunden.KundenID = tbl_Belegung.ID_Kunde) ON tbl_Art.ArtID = tbl_Belegung.BelegungArt " & _
           "WHERE (((tbl_Belegung.Datum_Von)<=" & sDate & ") AND ((tbl_Belegung.Datum_Bis)>=" & sDate & "));"
    Set rsBelegung = CurrentDb.OpenRecordset(sSQL)
    'durchlaufen der Label und Einfärben
    Do While Not rsBelegung.EOF
        vSet = "z" & rsBelegung!ZimmerNr
        If Not IsNull(rsBelegung!ArtCol) Then
            Me(vSet).BackColor = rsBelegung!ArtCol
        Else
            Me(vSet).BackColor = nFreeColor
        End If
        rsBelegung.MoveNext
    Loop
    rsBelegung.Close
End Sub

Hier wird ein Recordset geöffnet das alle Termine enthält die am gewählten Datum vorhanden sind und die Label entsprechend einfärbt.

4. Aufruf der Prozeduren

Private Sub Form_Current()
    Call ResetBelegung
    Call Belegung
End Sub

Dateien:
Beispiel für einen Belegungsplan
Beispiel für einen Belegungsplan
Die Zip-Datei enthält eine Version für A00 - A10
Datum 25.10.2010 Dateigröße 27.43 KB Download 1468


Einen Kommentar verfassen

Als Gast kommentieren

0 / 300 Zeichen Beschränkung
Dein Text sollte zwischen 10-300 Zeichen lang sein
Nutzungsbedingungen.
  • Keine Kommentare gefunden