collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 52
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13911
  • stats Beiträge insgesamt: 65784
  • stats Themen insgesamt: 8876
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: LKW Disposition / Planungstafel  (Gelesen 1033 mal)

Offline jecklan1

  • Newbie
  • Beiträge: 9
LKW Disposition / Planungstafel
« am: November 25, 2017, 18:45:53 »
Hallo Liebe Community

Ich bin derzeit an einer LKW Disposition. Alles funktioniert soweit ganz gut Fahrzeuge Planen, Übersichten, Faktura etc...

Nun möchte ich gerne die disponierten/geplanten LKW's auf einer Übersichtstafel/Form anzeigen. (So eine Art Übersicht ... welcher LKW ist frei/gebucht.)

Das ganze sollte in etwa so aussehen (siehe Bild im Anhang)

Hat hier jemand eine Idee wie ich das grafisch darstellen kann? Habe ein bissel mit DCOUNT rumgespielt aber ich denke für jedes Feld eine eigene DCOUNT Abfrage zu erstellen ist die "unschönste" Art. Ich habe leider keine Ahnung wie ich das bewerkstelligen soll?

Es existiert bereits eine Query in der ein VON und BIS Datum abgefragt werden.

Hat hier jemand eine Idee?
Vielen Dank im Voraus
Liebe Grüsse
Andy
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23265
Re: LKW Disposition / Planungstafel
« Antwort #1 am: November 26, 2017, 10:30:30 »
Hallo,

eine Kreuztabellenabfrage mit fixierten Spaltenüberschriften könnte helfen.

Erstellen/Abfrageassistent/Kreuztabellen-Assistent

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1170
Re: LKW Disposition / Planungstafel
« Antwort #2 am: November 26, 2017, 11:20:38 »
Du kannst auch eine nichtpropertionale Schriftart verwenden, die Rechtecke oder Quadrate im Idealfall lückenlos aneinanderreihen kann. Die Zeitabschnitte werden dann jeweils in einem Text mit maximal 48 Zeichen abgebildet.Mit einer einfachen Funktion kannst Du dann den Zeitstrahl erstellen.
Public Function TimeToBeam(StartsAt As Date, EndsAt As Date, Optional CombineWith As String)
   Const Offset = 24 'Viertelstunden von 0:00 - 6:00
   
   Dim Result As String * 48
   Dim FirstQuarter As Long
   Dim BeamLength As Long
     
   FirstQuarter = CLng(StartsAt * 96) - Offset + 1 '1 für das erste Zeichen
   BeamLength = ((EndsAt - StartsAt) * 96)
   
   If Len(CombineWith) = 48 Then Result = CombineWith
   
   Mid$(Result, FirstQuarter) = String$(BeamLength, "•")
   TimeToBeam = Result
End Function

Sub Test()
   Dim r As String

   Debug.Print "|"; TimeToBeam(#7:00:00 AM#, #8:00:00 AM#); "|"
   Debug.Print "|"; TimeToBeam(#7:30:00 AM#, #11:15:00 AM#); "|"
   r = TimeToBeam(#7:30:00 AM#, #11:15:00 AM#)
   Debug.Print "|"; TimeToBeam(#4:45:00 PM#, #6:00:00 PM#, r); "|"
End Sub
Die Test-Prozedur gibt dann folgendes im Direktbereich aus:|    ••••                                        |
|      •••••••••••••••                           |
|      •••••••••••••••                      •••••|
Grüße von der (⌒▽⌒)
 

Offline jecklan1

  • Newbie
  • Beiträge: 9
Re: LKW Disposition / Planungstafel
« Antwort #3 am: November 26, 2017, 11:50:35 »
Vielen Dank für die schnellen Antworten

Ich habe bereits gestern etwas herumgespielt mit der OnPaint Event Funktion. Denke jedoch nicht das dies der richtige Lösungsansatz ist.
(Habe mein "gebastel" hier angehängt. Ich hoffe das ist hier erlaubt)
 
--->> Zeitachse geht nur von 06:00 bis 10:00

Ich werde eure Vorschläge später mal ausprobieren.
« Letzte Änderung: November 26, 2017, 12:38:06 von jecklan1 »
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7202
Re: LKW Disposition / Planungstafel
« Antwort #4 am: November 26, 2017, 12:39:04 »
Hallo,
so etwas ähnliches hatte ich mal für ein Füllstandsanzeige gemacht.
Ich habe Dir das mal für LKW angepasst. Verwendet wie auch von Lachtaube vorschlagen eine nicht proportionale Schrift und kommt völlig ohne VBA aus.

Meine Zeitachse geht über 24 Stunden.
Wenn da wirklich von 06:00 bis 10:00 (vormittags, also nur 4 Stunden ?) ausreicht, lässt da die Auflösung auf 5 Minuten steigern.
« Letzte Änderung: November 26, 2017, 12:45:03 von MzKlMu »
Gruß
Klaus
 

Offline jecklan1

  • Newbie
  • Beiträge: 9
Re: LKW Disposition / Planungstafel
« Antwort #5 am: November 26, 2017, 12:59:37 »
Hallo MzKlMu

Das ist der Hammer! Exakt das was ich benötige gesucht habe. Danke!

Ist es auch möglich die Fahrzeuge auf eine Linie zu beschränken auch wenn das Fahrzeug am selben Tag mehrere Einträge hat? Sozusagen nur eine Line pro Fahrzeug?

Liebe Grüsse aus der Schweiz
Andy
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1170
Re: LKW Disposition / Planungstafel
« Antwort #6 am: November 26, 2017, 13:16:13 »
Leider zeigt das Textfeld in meinem Access keinen Balken, wenn die Zeit nicht um 6 Uhr beginnt. Ich habe deshalb eine durchgezogene Linie gewählt. Zum anderen habe ich die Anzahl der Zeichen verdoppelt und Consolas 14 als Schriftgröße angegeben. Kleine Änderungen an der Skala wären aber trptzdem noch nötig, was ich mir allerdings erspare. Die Funktion ist in die Abfrage alsBeam: TimeToBeam([DispoVon];[DispoBis])integriert und schaut nach der Änderung nun so aus.Public Function TimeToBeam(StartsAt, EndsAt, Optional CombineWith)
   'alle Werte mit Faktor 2 skaliert
   Const Offset As Long = 24 * 2 'Viertelstunden von 0:00 - 6:00
   
   Dim Result As String * 96 '(48 * 2)
   Dim FirstQuarter As Long
   Dim BeamLength As Long
   
   On Error GoTo e
     
   FirstQuarter = CLng(StartsAt * 96) * 2 - Offset + 1 '1 für das erste Zeichen
   BeamLength = ((EndsAt - StartsAt) * 96) * 2
   
   If Not IsMissing(CombineWith) Then
      If Len(CombineWith & "") = 48 * 2 Then Result = CombineWith
   Else
      Result = String$(96, ChrW$(&H2500)) 'die Linie
   End If
   
   
   Mid$(Result, FirstQuarter) = String$(BeamLength, ChrW$(&H2588)) 'voller Block
   TimeToBeam = Result
   
e:
End Function
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: PhilS

Offline jecklan1

  • Newbie
  • Beiträge: 9
Re: LKW Disposition / Planungstafel
« Antwort #7 am: November 26, 2017, 13:40:58 »
Leider zeigt das Textfeld in meinem Access keinen Balken, wenn die Zeit nicht um 6 Uhr beginnt. Ich habe deshalb eine durchgezogene Linie gewählt. Zum anderen habe ich die Anzahl der Zeichen verdoppelt und Consolas 14 als Schriftgröße angegeben. Kleine Änderungen an der Skala wären aber trptzdem noch nötig, was ich mir allerdings erspare. Die Funktion ist in die Abfrage alsBeam: TimeToBeam([DispoVon];[DispoBis])integriert und schaut nach der Änderung nun so aus.Public Function TimeToBeam(StartsAt, EndsAt, Optional CombineWith)
   'alle Werte mit Faktor 2 skaliert
   Const Offset As Long = 24 * 2 'Viertelstunden von 0:00 - 6:00
   
   Dim Result As String * 96 '(48 * 2)
   Dim FirstQuarter As Long
   Dim BeamLength As Long
   
   On Error GoTo e
     
   FirstQuarter = CLng(StartsAt * 96) * 2 - Offset + 1 '1 für das erste Zeichen
   BeamLength = ((EndsAt - StartsAt) * 96) * 2
   
   If Not IsMissing(CombineWith) Then
      If Len(CombineWith & "") = 48 * 2 Then Result = CombineWith
   Else
      Result = String$(96, ChrW$(&H2500)) 'die Linie
   End If
   
   
   Mid$(Result, FirstQuarter) = String$(BeamLength, ChrW$(&H2588)) 'voller Block
   TimeToBeam = Result
   
e:
End Function

Hallo Lachtaube
Kannst du mir dein Beispiel mal Anhängen? Ich bin VBA technisch nicht so auf der Höhe. Wäre super nett

Gruss
Andy
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1170
Re: LKW Disposition / Planungstafel
« Antwort #8 am: November 26, 2017, 14:21:27 »
Kann ich machen Andy.

PS: Wenn Du Dich auf eine horizontale Linie, 36 kleine vertikale Linien (für die Viertelstunden) und 13 vertikale Linien (für die vollen Stunden) beschränkst, kann man die Zeitskala auch relativ einfach dynamisch im Formular-Ereignis Bei Größenänderung an die erforderliche Breite angleichen.
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: jecklan1

Offline jecklan1

  • Newbie
  • Beiträge: 9
Re: LKW Disposition / Planungstafel
« Antwort #9 am: November 27, 2017, 11:01:03 »
Moin Lachtaube

Danke nochmals für das Beispiel. Funktioniert Super!

Wenn jedoch meine [VON] [BIS] Felder ein Datum enthalten funktioniert es irgendwie nicht so Richtig. Habe das Feld in der Query angepasst auf "Short Time" bringt jedoch nichts.

Hast du eine Idee?
Danke und einen guten Wochenstart
Andy
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7202
Re: LKW Disposition / Planungstafel
« Antwort #10 am: November 27, 2017, 11:28:47 »
Hallo,
Du musst das Datum abschneiden, die Formatierung schönt nur die Anzeige, ändert aber nichts am Feldinhalt.
In der Abfrage einfach so:
VonZeit: Von - Int(Von)
BisZeit: Bis - Int(Bis)
Im weiteren Verlauf dann VonZeit und BisZeit verwenden.

Erläuterung:
Ein Datumsfeld ist im Hintergrund sonst nix wie eine Kommazahl des Typs Double. Nach dem Komma ist der dezimale Teil eines Tages (1) als Zeit.
Heute 06:00 = 43066,25
Heute 12:00 = 43066,50
Du brauchst also nur den Teil nach dem Komma. Und der wird mit obigen Formeln errechnet.
ZeitAnteil: 43066,25 - Int(43066,25) = 0,25
Gruß
Klaus
 
Folgende Mitglieder bedankten sich: jecklan1

Offline jecklan1

  • Newbie
  • Beiträge: 9
Re: LKW Disposition / Planungstafel
« Antwort #11 am: November 27, 2017, 11:53:29 »
Danke MzKlMu

Funktioniert Bestens!

Noch eine letzte Frage : Wie kann ich die Timeline auf 24h Anpassen? Also von 00:00 bis 24:00 ?

 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1170
Re: LKW Disposition / Planungstafel
« Antwort #12 am: November 27, 2017, 12:40:52 »
Ein Tag hat 96 Viertelstunden. Um mit Deiner Skala einigermaßen konform zu sein, habe ich jedoch für jede Viertelstunde 2 Zeichen gewählt (mit 2 multipliziert). D.h. 192 Zeichen ergeben eine volle Tagesbreite (Result entsprechnd setzen), wobei der Offset komplett entfällt.
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: jecklan1

Online trebuh

  • Access-Profi
  • **
  • Beiträge: 139
Re: LKW Disposition / Planungstafel
« Antwort #13 am: November 29, 2017, 12:29:21 »
Hallo Klaus und Lachtaube,

ich hätte zu euerem Beispiel eine Frage:

Ist es in dem Formular möglich in der Kopfzeile (da wo Ihr die Uhrzeit habt) die aktuelle Woche anzuzeigen (z.B. Montag bis Sonntag)

Ich habe mal vor, für meinen Milchbetrieb ein Programm zu schreiben. Da könnte ich jetzt euer Beispiel perfekt dafür verwenden, daß mir die Wartezeiten der Milchabgabe wegen einer Behandlung angezeigt wird.
Anstelle des LKW´s werden die behandelten Milchkühe angezeigt, und der Zeitraum wäre ja durch das Datum des behandelten Tages und der Wartezeit des Medikaments gegeben (z.B. 120 Stunden entspricht 5 Tagen).

Somit bräuchte ich in der Kopfzeile nur eine variable Wochenanzeige (oder eventuell 2-wöchig).

Ist sowas machbar?

Gruß Hubert
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1170
Re: LKW Disposition / Planungstafel
« Antwort #14 am: November 29, 2017, 13:15:24 »
Das geht selbstverständlich auch. Im Prinzip kann man alle Zahlenwerte darstellen, solange die Skala linear ist und eine entsprechende nichtproportional Schriftart verwendet wird und ein ganzes Vielfaches von Zeichen in eine Zeile passen (120, 240, 360, ... in Deinem Fall). Hier muss man mit Schriftarten und Schriftgrößen halt etwas sielen, um gute Werte zu erzielen.

Theoretisch sollte es auch möglich sein, Texte im Richtext-Format (also HTM-Fragmente) in einem Memofeld zu verwenden, um verschiedene Farben in einzelnen Balken und/oder in einem Balken zu haben. Dafür muss man vermutlich nur einen guten Schluck Kreativgeist aus der Flasche zu sich nehmen und etwas Zeit haben. :)

Und weil die verwendete Schriftart nichtproportional ist, sollte sich sogar die Mausposition über Zeichen X leicht ermitteln lassen.
Grüße von der (⌒▽⌒)