[ASP/MDB] Query WHERE: Bij week/jaar verkeerde data

Pagina: 1
Acties:

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
Oké, ik heb een database waar onze tijdlijsten in bij worden gehouden. Deze data wordt opgeslagen in de tabel Tijdlijst en daar heb ik twee kolommen met Jaar en Week.

Week wordt dus gevuld met het weeknummer en het Jaar met het jaar (duh!).

Nu heb ik een rapport gemaakt om te kunnen kijken over een bepaalde periode om te kijken hoeveel uur er op een bepaald ordernummer is geschreven. Ik heb daar een hele lange query van gemaakt, ik hoop dat jullie hem snappen?

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
If GebruikVanTot = "1" Then
    QUERYVanTot = "((CINt(Week) > " & CInt(VanWeeknummer-1) & " AND CINt(Jaar) > " & CInt(VanJaar-1) & ") AND (CInt(Week) < " & CInt(TotWeeknummer+1) & " AND CInt(Jaar) < " & CInt(TotJaar+1) & ")) AND "
'   QUERYVanTot = "(CINt(Week) > " & CInt(VanWeeknummer-1) & " AND CINt(Jaar) > " & CInt(VanJaar-1) & ") AND (CInt(Week) < " & CInt(TotWeeknummer+1) & " AND CInt(Jaar) < " & CInt(TotJaar+1) & ") AND "
'   QUERYVanTot = "CINt(Week) > " & CInt(VanWeeknummer-1) & " AND CInt(Week) < " & CInt(TotWeeknummer+1) & " AND CINt(Jaar) > " & CInt(VanJaar-1) & " AND CInt(Jaar) < " & CInt(TotJaar+1) & " AND "
Else
    QUERYVanTot = ""
End If

If UrenOptellen <> "Ja" Then
    If UitvoeringManagement = "Alle" Then
        SQLstring = "SELECT TotaalKosten AS tTotaalKosten, Regnummer, NormaleUren AS tNormaleUren, OV1 AS tOV1, OV2 AS tOV2, OV3 AS tOV3, OV4 AS tOV4, Reisuren AS tReisuren, Datum AS tDatum, Week AS tWeek, Jaar AS tJaar, Subnummer AS tSubnummer FROM Tijdlijst WHERE OrderNummer LIKE '" & OrdNum & "' AND " & QUERYVanTot & " SubNummer LIKE '" & SubNum & "' ORDER BY Regnummer"
    ElseIf UitvoeringManagement = "U" Then
        SQLstring = "SELECT TotaalKosten AS tTotaalKosten, Regnummer, NormaleUren AS tNormaleUren, OV1 AS tOV1, OV2 AS tOV2, OV3 AS tOV3, OV4 AS tOV4, Reisuren AS tReisuren, Datum AS tDatum, Week AS tWeek, Jaar AS tJaar, Subnummer AS tSubnummer FROM Tijdlijst WHERE OrderNummer LIKE '" & OrdNum & "' AND " & QUERYVanTot & " SubNummer LIKE '" & SubNum & "' AND UitvoeringManagement LIKE 'Uitvoering' ORDER BY Regnummer"
    ElseIf UitvoeringManagement = "ME" Then
        SQLstring = "SELECT TotaalKosten AS tTotaalKosten, Regnummer, NormaleUren AS tNormaleUren, OV1 AS tOV1, OV2 AS tOV2, OV3 AS tOV3, OV4 AS tOV4, Reisuren AS tReisuren, Datum AS tDatum, Week AS tWeek, Jaar AS tJaar, Subnummer AS tSubnummer FROM Tijdlijst WHERE OrderNummer LIKE '" & OrdNum & "' AND " & QUERYVanTot & " SubNummer LIKE '" & SubNum & "' AND (UitvoeringManagement LIKE 'Management' OR UitvoeringManagement LIKE 'Engineering') ORDER BY Regnummer"
    End If
Else
    If UitvoeringManagement = "Alle" Then
        SQLstring = "SELECT Count(*), Sum(TotaalKosten) AS tTotaalKosten, Regnummer, Sum(NormaleUren) AS tNormaleUren, Sum(OV1) AS tOV1, Sum(OV2) AS tOV2, Sum(OV3) AS tOV3, Sum(OV4) AS tOV4, Sum(Reisuren) AS tReisuren FROM Tijdlijst WHERE OrderNummer LIKE '" & OrdNum & "' AND " & QUERYVanTot & " SubNummer LIKE '" & SubNum & "' GROUP BY Regnummer ORDER BY Regnummer"
    ElseIf UitvoeringManagement = "U" Then
        SQLstring = "SELECT Count(*), Sum(TotaalKosten) AS tTotaalKosten, Regnummer, Sum(NormaleUren) AS tNormaleUren, Sum(OV1) AS tOV1, Sum(OV2) AS tOV2, Sum(OV3) AS tOV3, Sum(OV4) AS tOV4, Sum(Reisuren) AS tReisuren FROM Tijdlijst WHERE OrderNummer LIKE '" & OrdNum & "' AND " & QUERYVanTot & " SubNummer LIKE '" & SubNum & "' AND UitvoeringManagement LIKE 'Uitvoering' GROUP BY Regnummer ORDER BY Regnummer"
    ElseIf UitvoeringManagement = "ME" Then
        SQLstring = "SELECT Count(*), Sum(TotaalKosten) AS tTotaalKosten, Regnummer, Sum(NormaleUren) AS tNormaleUren, Sum(OV1) AS tOV1, Sum(OV2) AS tOV2, Sum(OV3) AS tOV3, Sum(OV4) AS tOV4, Sum(Reisuren) AS tReisuren FROM Tijdlijst WHERE OrderNummer LIKE '" & OrdNum & "' AND " & QUERYVanTot & " SubNummer LIKE '" & SubNum & "' AND (UitvoeringManagement LIKE 'Management' OR UitvoeringManagement LIKE 'Engineering') GROUP BY Regnummer ORDER BY Regnummer"
    End If
End If


Nu als de functie GebruikVanTot wordt gebruikt dan gaat het goed als ik bijvoorbeeld zoekt van weeknummer 13 tot week 45 in het zelfde jaar. Maar als ik nu gaat zoeken van bijvoorbeeld week 19 2001 tot week 23 2003 dan krijg ik alleen alle data wat TUSSEN week 19 en 23 zit EN tussen 2001 en 2003.

Wat ik wil is dus van week 19 2001 tot en met week 23 2003!

Ik weet het echt niet meer hoe ik dit kan aanpakken. Ik heb al met haakjes gerommeld en op een andere manier de query opgebouwd, dus door de war zetten maar dat help allemaal niet :'(

[ Voor 13% gewijzigd door Polderdijk op 21-05-2003 14:39 . Reden: code=asp ]

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


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 snapt het niet..
Access heeft hele mooie date/time velden.
Verder kent SQL ook het Between .. AND .. statement.

Zie http://support.microsoft....ntent/nwind/T-Art_097.asp

Vervolgens heb je ook nog de Format Functie.
Deze heeft als parameter
ww - Week of the year (1 to 53).

[ Voor 27% gewijzigd door gorgi_19 op 21-05-2003 09:05 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
gorgi_19 schreef op 21 mei 2003 @ 08:58:
* gorgi_19 snapt het niet..
Access heeft hele mooie date/time velden..
Ja, dat weet ik, maar het zit zo dat de data uit een oude DBase III database komt en we hebben er voor gekozen om de opmaak zo veel mogelijk te behouden!
Verder kent SQL ook het Between .. AND .. statement.

Zie http://support.microsoft....ntent/nwind/T-Art_097.asp
Ja, daar heb je gelijk in, die heb ik ook als eerste gebruikt, maar met die functie, hoe ik het ook in elkaar zet, ik blijf de hele tijd vreemde data voor me kiezen krijgen! Daarom heb ik het op zo'n manier gedaan!
Vervolgens heb je ook nog de Format Functie.
Deze heeft als parameter

[...]
Yep, daar heb je gelijk in, maar ik kan niks verzinnen hoe ik dus die functie toe moet passen, dus daarom ben ik het ff hier gaan vragen om te kijken of mensen misschien dit probleem ook wel eens hebben gehad?

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