[ASP] Kolom met datum's samenvoegen

Pagina: 1
Acties:

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 28-08 15:58
Ik heb een asp script die onze tijdlijsten moet gaan maken. Nu geeft mijn script een rijtje met datums wanneer je aan welk project heb gewerkt. Nu krijg ik dus bijvoorbeeld zo'n kolom:

code:
1
2
3
4
5
6
7
28-1-02
29-1-02
30-1-02
31-1-02
1-2-02
4-2-02
5-2-02

Nu probeerde ik dus een script te schrijven die zorgt dat deze kolom netjes wordt gemaakt door gebruik te maken van "t/m". Nu wil ik dus een script maken die van bovenstaande kolom onderstaande kolom maakt:
code:
1
2
3
4
5
28-1-02
t/m
1-2-02
4-2-02
5-2-02

Dus als er 3 op eenvolgende datum is dan de middelste datum(s) vervangen door t/m maar als er twee op eenvolgende datums zijn dan niets wijzigen! Zijn hier ook standaard scripts voor te krijgen want het is me zelf niet gelukt om een goed script hiervoor te proggen :|

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • Peetman
  • Registratie: Oktober 2001
  • Nu online

Peetman

Tjah....

Geef zelf eens aan wat je geprobeert hebt (code). Scriptrequest mogen hier trouwens niet.

Ik kan je wel een paar tips geven.

- Lees een eerste en tweede datum en derde datum in in een string,
- Converteer deze strings naar een losse dag, maand, jaar
- Als dan het jaar en maand gelijk zijn, maar de dag 2 x 1 hoger zijn, zijn deze twee dagen opeenvolgend.
- Loop door al je data heen.
- Maak vervolgens uitzondering voor de laatste dag van de maand en voor de twaalfde maand van het jaar. (via select statements)

Verwijderd

Hier zijn geen standaar scripts voor.

Stappenplan:
1) sla de eerste datum op in een variabele datum, en druk hem af

2) zet een variabele teller op 1

3) loop door alle overige data, en doe met iedere stap het volgende:

a) is de huidige datum teller dagen groter dan datum? (gebruik dateadd)
a1) ja: verhoog teller met 1
a2) nee: sla huidige datum op in datum
a2a) is teller groter dan 1?
a2a1) ja: print "t/m" en huidige datum en zet teller weer op 1
a2a1) nee: print alleen de huidige datum

4) klaar!

Enjoy :)

[ Voor 0% gewijzigd door Verwijderd op 18-09-2002 11:28 . Reden: Wat duidelijker if/else afhankelijkheden (hoop ik) ]


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 28-08 15:58
Verwijderd schreef op 18 september 2002 @ 11:25:
Hier zijn geen standaar scripts voor.

Stappenplan:
1) sla de eerste datum op in een variabele datum, en druk hem af

2) zet een variabele teller op 1

3) loop door alle overige data, en doe met iedere stap het volgende:

a) is de huidige datum teller dagen groter dan datum? (gebruik dateadd)
a1) ja: verhoog teller met 1
a2) nee: sla huidige datum op in datum
a2a) is teller groter dan 1?
a2a1) ja: print "t/m" en huidige datum en zet teller weer op 1
a2a1) nee: print alleen de huidige datum

4) klaar!

Enjoy :)
Dat is een goede beschrijving, ik had iets veel moeilijkers bedacht! Ik zal het na de lunchpauze gaan maken! Uiteraard zal ik mijn proggie hier posten zodat mede tweakers hier misschien nog wat aan hebben!

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!