van datum naar datum maar dan in maanden acces

Status
Niet open voor verdere reacties.

alexmarvel

Gebruiker
Lid geworden
5 okt 2004
Berichten
22
k heb een code+formulier waarbij hij ziektemeldingen berkent van datum tot datum,maar als je van een jaar wil en dan per jaar,de zieken per maand,dan zegt hij niet in welke maand ze ziek zijn,maar gewoon van datum tot datum

k wil de code laten terugkomen in een loop,zeg maar 12X, met steeds een andere waarde voor de startdate,dan zou het volgens mij moeten
werken,of dat hij steeds de volgende record pakt uit een tabel,12 records,tot hij alle records heeft gehad maar weet niet precies hoe dit werkt,k had al iets geprobeerd maar toen kreeg k foutcode 6 overloop :S

Sql = "INSERT INTO TableSick ( EmployeeID, FirstName, Initials, LastName, TimesCalledSick, DaysSick, WorkingDays, RelativeSick, BeginDate, EndDate, Department ) " & _
"SELECT EmployeesLeaves.EmployeeID, Employees.FirstName, Employees.Initials, Employees.LastName, " & _
"Count(*) AS TimesCalledSick, Sum(CalcWorkDays(EmployeesLeaves.DateStart,EmployeesLeaves.DateEnd)) As DaysSick, " & _
"CalcWorkdaysEmployee(EmployeesLeaves.EmployeeID, #" & Format(StartDate, ISO_DATE_FORMAT) & "# , #" & Format(EndDate, ISO_DATE_FORMAT) & "# ) As WorkingDays, " & _
"CalculatePercentage(DaysSick, WorkingDays) As RelativeSick, " & _
"#" & Format(StartDate, ISO_DATE_FORMAT) & "# , #" & Format(EndDate, ISO_DATE_FORMAT) & "# , '" & DepartmentName & "' " & _
"FROM EmployeesLeaves INNER JOIN Employees ON EmployeesLeaves.EmployeeID = Employees.EmployeeID " & _
"WHERE (EmployeesLeaves.DateStart >= #" & Format(StartDate, ISO_DATE_FORMAT) & "#) " & _
"AND (EmployeesLeaves.DateEnd <= #" & Format(EndDate, ISO_DATE_FORMAT) & "#) " & _
"AND (Employees.DateJoined <= #" & Format(StartDate, ISO_DATE_FORMAT) & "#) " & _
"AND ((Employees.DateLeft >= #" & Format(EndDate, ISO_DATE_FORMAT) & "#) OR IsNull(Employees.DateLeft)) " & _
"GROUP BY EmployeesLeaves.EmployeeID, Employees.FirstName, Employees.Initials, Employees.LastName, EmployeesLeaves.LeaveID " & _
"HAVING (EmployeesLeaves.LeaveID = 16) " & _
"ORDER BY EmployeesLeaves.EmployeeID"
 
K heb nu dit, dit werkt wel maar alleen voor dit jaar,de bedoeling is dat je via keuzelijst met invoervak het jaar kan kiezen, en k wil de code graag korter weet iemand hoe?

Code:
Me.subCriteria.Form.StartDate = #1/1/2006#
    Me.subCriteria.Form.EndDate = #1/31/2006#
    Sickness
    Me.subCriteria.Form.StartDate = #2/1/2006#
    Me.subCriteria.Form.EndDate = #2/28/2006#
    Sickness
    Me.subCriteria.Form.StartDate = #3/1/2006#
    Me.subCriteria.Form.EndDate = #3/31/2006#
    Sickness
    Me.subCriteria.Form.StartDate = #4/1/2006#
    Me.subCriteria.Form.EndDate = #4/30/2006#
    Sickness
    Me.subCriteria.Form.StartDate = #5/1/2006#
    Me.subCriteria.Form.EndDate = #5/31/2006#
    Sickness
    Me.subCriteria.Form.StartDate = #6/1/2006#
    Me.subCriteria.Form.EndDate = #6/30/2006#
    Sickness
    Me.subCriteria.Form.StartDate = #7/1/2006#
    Me.subCriteria.Form.EndDate = #7/31/2006#
    Sickness
    Me.subCriteria.Form.StartDate = #8/1/2006#
    Me.subCriteria.Form.EndDate = #8/30/2006#
    Sickness
    Me.subCriteria.Form.StartDate = #9/1/2006#
    Me.subCriteria.Form.EndDate = #9/30/2006#
    Sickness
    Me.subCriteria.Form.StartDate = #10/1/2006#
    Me.subCriteria.Form.EndDate = #10/30/2006#
    Sickness
    Me.subCriteria.Form.StartDate = #11/1/2006#
    Me.subCriteria.Form.EndDate = #11/30/2006#
    Sickness
    Me.subCriteria.Form.StartDate = #12/1/2006#
    Me.subCriteria.Form.EndDate = #12/31/2006#
    Sickness
Loop Until Me.subCriteria.Form.StartDate = #12/1/2006#
 
ik heb hem :D k heb de sql statement die de tabel vult in een loop gestopt

Code:
Do Until teller > 13
            'next month
            StartDate = DateAdd("m", 1, StartDate)
            'last day of month
            EndDate = DateAdd("d", -1, DateAdd("m", 1, StartDate))
            teller = teller + 1
            Loop
topic kan dicht
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan