1) Izbacivanje nedelje. tebi treba da izracunas da li je u nekom datumskom intervalu bila neka nedelja, i koliko se puta javila nedelja. evo ti par funkcija koje to rade:
Code:
Function SundaysBetween(Date1 As Date, Date2 As Date)
'Calculates how many Sundays in given date interval (date1,date2)
Dim intNumSundays As Integer
Dim datFirst As Date
Dim datLast As Date
Dim intDelta As Integer
Dim datCurrent As Date
intDelta = Date1 - Date2
Select Case intDelta
Case Is >= 0
datFirst = Date2: datLast = Date1
Case Is < 0
datFirst = Date1: datLast = Date2
End Select
intNumSundays = 0
datCurrent = LastSunday(datLast)
If datCurrent > datFirst Then
'at least one sunday between dates
intNumSundays = intNumSundays + 1
End If
intDelta = datCurrent - datFirst
intNumSundays = intNumSundays + Int(intDelta / 7)
SundaysBetween = intNumSundays
End Function
Function LastSunday(datDate As Date) As Date
'Purpose: returns last Sunday before datDate
'If datdate=Sunday, then returns datDate itself
'Examples
'? LastSunday(#5/8/2005#) returns itself, 08/05/2005 , since 8 May 2005 is Sunday
'? LastSunday(#5/12/2005#) 12 May 2005 is Thursday, previous Sunday was on 08/05/2005, May 08, 2005
LastSunday = datDate - Weekday(datDate) + 1
End Function
2) kako da svaka cetvrta kaseta bude besplatna. Zavisi od toga kako si dizajnirao tabele. pretpostavicu da je sve OK. U tom slucaju, pretpostavljam da imas tabelu u koju se upisuju usete kasete, i da u toj tabeli imas polja (KlijentID,KasetaID,BrojacKasetPoKlijentu)
Polje BrojacKasetaPoKlijentu se za svaki novi rekord poveca za 1. Brojs od 1 za svakog klijenta posebno. Znaci, Zika ce da ima brojeve 1,2,3,4,5,6 ali ce i Mika da ima brojeve 1,2,3,4,5,6,7,8 - brojac ide od 1 pa navise za svakog klijenta. Kako znas koja je kaseta cetvrta po redu - pa laoko, brojac mora da bude deljiv sa 4. Koristi Mod, INt ili sta god hoces da odredis da li je broj deljiv sa cetiri.