| |
Fortgeschrittene ProgrammierungKalenderwochen von bis auflisten | | | Autor: I.V. | Datum: 21.06.16 09:43 |
| Hallo zusammen,
ich stehe gerade etwas auf dem Schlauch und hoff auf eure Hilfe.
Ich möchte eine Combobox mit der Liste der KWs füllen, die in einem Zeitfester (Von-Bis) liegen.
Allerdings fehlt mir gerade ein brauchbarer Ansatz für eine Schleife.
Hat evtl. jemand einen Tipp parat?
Danke und viele Grüße
Ingo
Wer aufhört sich zu verbessern, hört auf gut zu sein. | |
Re: Kalenderwochen von bis auflisten | | | Autor: Zardoz | Datum: 21.06.16 13:42 |
| Hallo Ingo,
probier' mal dies:
Private Sub Form_Load()
Dim Datum1 As Date, Datum2 As Date, i As Integer
Datum1 = "24.07.2016"
Datum2 = "22.12.2016"
For i = KaWo(Datum1) To KaWo(Datum2)
Combo1.AddItem CStr(i)
Next i
End Sub
Private Function KaWo(Datum As Date) As Integer
KaWo = Format$(Datum, "ww", vbMonday, vbFirstFourDays)
End Function Gruss,
Zardoz | |
Re: Kalenderwochen von bis auflisten | | | Autor: I.V. | Datum: 21.06.16 20:34 |
| Hallo Zardoz,
danke für den Tipp.
leider war ich schon soweit, doch leider funktioniert das nicht, wenn der Zeitraum ein ganzes Jahr ist, oder der Zeitraum größer als ein Jahr ist.
Hättest du hierfür auch einen Tipp?
Gruß Ingo
Wer aufhört sich zu verbessern, hört auf gut zu sein. | |
Re: Kalenderwochen von bis auflisten | | | Autor: Franki | Datum: 23.06.16 00:54 |
| Hallo Ingo,
"funktioniert nicht" ist eine schlechte Beschreibung des Fehlers.
Beschreibe doch mal genau was du machen möchtest. Du schreibst von Zeitraum, dann aber mehrere Jahre was soll denn da aufgelistet werden? Die KW 5 gibt es in jedem Jahr, am Ende eines Jahres/Anfang eines Jahres kann es unterschiedliche Anzahl von KW in einem Jahr geben.
Und wenn du alle KW auch überbreifend auflisten willst, dann brauchst du sowieso das Jahr dazu in der Liste. Denn sonst steht da z.B. 51,52,1,2...,53,1... usw. ohne Jahreszahl dahinter wird eine Sortierung nur schwer möglich.
Und definiere Zeitraum, der könnte ja auch kurz sein über einen Jahreswechsel.
Die Ermittlung von KW funktioniert nach ISO zuverlässig wenn ein plausibles Datum gegeben ist.
Gruß
Frank | |
Re: Kalenderwochen von bis auflisten | | | Autor: effeff | Datum: 23.06.16 10:19 |
| Warum schreibst Du VOR die Kalenderwoche dann nicht die Jahreszahl, um eindeutig differenzieren zu können?
Also z. B.
2015-10
2015-11
2015-12
2016-01
2016-02
EALA FREYA FRESENA | |
Re: Kalenderwochen von bis auflisten | | | Autor: Manfred X | Datum: 23.06.16 10:19 |
| Hallo!
Schleife von 52 bis 5 ?
Du erstellst ein Integer-Array mit den Werten 52,1,2,3,4,5 (Wochen-Kennungen),
baust eine Schleife über dieses Array von Lbound bis Ubound
und verwendest in der Schleife nicht direkt den Schleifenindex,
sondern den Wert: Array(Schleifenindex).
Mit Logik/Unlogik hat das nichts zu tun.
Es ist eine Abfolge sich jahresweise wiederholender Wochen-Indices. | |
Re: Kalenderwochen von bis auflisten | | | Autor: I.V. | Datum: 23.06.16 10:46 |
| Hallo Manfred,
danke für den Tipp, jetzt hat es klick gemacht...
Hallo Effeff,
ich habe die Jahreszahl hinter der Woche stehen, aber das wäre wohl auch eine Möglichkeit.
Allerdings finde ich denn Tipp von Manfred (mit einem Array zu arbeiten) einfach und gut.
Aber dennoch vielen dank.
Gruß Ingo
Wer aufhört sich zu verbessern, hört auf gut zu sein. | |
Re: Kalenderwochen von bis auflisten | | | Autor: Franki | Datum: 25.06.16 02:16 |
| Hallo,
Zitat: | |
Mein Problem liegt darin, dass wenn ich einen Zeitraum vom
01.01. - 31.12. auswähle, die KW (wie du schon ganz richtig
beschreibst) von der 52. 53. bis hin zur 1. gehen kann.
Genauer gesagt weiß ich nicht, wie ich eine Schleife z.B. mit
52 beginne und sagen wir mal bei 5 aufhört
| |
Wie du eine Schleife aufbauen kannst, hast du ja in den anderen Beiträgen hier schon erfahren. Aber das Problem liegt ja darin, dass du erst mal ermitteln musst wie viele KW dein Zeitraum überhaupt hat. Und das ist halt von Jahr zu Jahr anders.
Statistiken nach Zeitraum sind z.B. jährlich, monatlich, auf ein Quartal bezogen usw. Aber auch da kann es Unterschiede geben. (Stichwort Schaltjahr)
Wenn du eine Wochenstatistik oder gar Tagesstatistik bauchst, dann musst du immer zuerst ermitteln was die Obergrenze des Arrays ist. Und dann erst kannst du eine Schleife im Programmcode aufbauen.
Beispiel: Umsatz pro Tag in einem Olinshop von Artikel XYZ. Da musst du wissen, wie viele Tage der Monat hat und auch in welchem Jahr.
Bei dynamischen Arrays muss man immer die Randbedingung vorher festlegen damit man weiß wie viele Element das Array enthält, bzw. es zu enthalten hat.
Gruß
Frank | |
Re: Kalenderwochen von bis auflisten | | | Autor: I.V. | Datum: 28.06.16 07:14 |
| Hallo Frank,
sorry, aber ich finde jetzt erst die Zeit zum Antworten.
Das mit den Obergrenzen ist mir direkt bewusst geworden, als ich anfing die Schleife auf zu bauen.
Für ein Jahr habe ich das auch hinbekommen.
Allerdings wird das Ganze sehr aufwendig, wenn der Zeitraum mehrere Jahre umfasst.
Ich habe hier erst mal abgebrochen und werde schauen, ob diese Auswertung (KWs über mehrere Jahre) überhaupt benötigt wird. Wenn ja, dann muss ich das ganze nochmal überdenken.
Danke und Gruß Ingo
Wer aufhört sich zu verbessern, hört auf gut zu sein. | |
| 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 |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevEingabe 3.0
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere Infos
|