Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 7 van 7

Onderwerp: query maken met som met als A datum+8, als B datum +15

  1. #1
    Junior Member
    Geregistreerd
    17 mei 2018
    Vraag is opgelost

    query maken met som met als A datum+8, als B datum +15

    Vorige maand heb ik een cursus Access gevolgd en ik ben nu bezig met mijn eerste database.

    Daarbij loop ik tegen het volgende op;
    We hebben een monster die voor verschillende testen ingezet word.
    Er zijn 3 testen A, B en C.
    Niet ieder monster heeft dezelfde testen en de testen duren ook een verschillende aantal dagen.
    A- 8 dagen
    B- 15 dagen
    C- 2 dagen
    Nu zouden we graag willen dat een Query berekend op welke datum de testen klaar zijn als je inzet datum en type test invult.

    We hebben dan de kolommen uit de tabel waarmee gerekend moet worden;

    Test Datuminzet

    Ik dacht dan iets van; DatumTestAfgerond; als test A DatumInzet + 8, als test B datumInzet+15.

    Geen idee of dit mogelijk is en zo niet hebben jullie dan tips hoe dit anders te doen.

    Alvast bedankt.
    Laatst aangepast door Timpoe : 17 mei 2018 om 18:53 Reden: fout in getallen gemaakt

  2. #2
    Senior Member
    Geregistreerd
    5 augustus 2015
    Dag Timpoe,

    Zonder jou database is het een beetje gokken hoe de tabellen en kolommen heten maar waarschijnlijk kun je deze wel ombouwen:

    Code:
    SELECT MijnTabel.TestType, MijnTabel.DatumInzet, CDATE(sum(MijnTabel.DatumInzet + 8)) as DatumAfronding
    FROM MijnTabel
    WHERE TestType = "A"
    GROUP BY MijnTabel.TestType, MijnTabel.DatumInzet
    
    UNION
    
    SELECT MijnTabel.TestType, MijnTabel.DatumInzet, CDATE(sum(MijnTabel.DatumInzet + 15)) as DatumAfronding
    FROM MijnTabel
    WHERE TestType = "B"
    GROUP BY MijnTabel.TestType, MijnTabel.DatumInzet
    
    UNION
    
    SELECT MijnTabel.TestType, MijnTabel.DatumInzet, CDATE(sum(MijnTabel.DatumInzet + 2)) as DatumAfronding
    FROM MijnTabel
    WHERE TestType = "C"
    GROUP BY MijnTabel.TestType, MijnTabel.DatumInzet;
    Het neemt 3 query's en plaatst deze samen met behulp van de Union operator.

  3. #3
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    Quote Origineel gepost door Timpoe Bekijk Bericht
    We hebben een monster die voor verschillende testen ingezet word.
    Er gaan weken voorbij dat ik mijn baas anders noem

    Maar zonder gekheid. Ik snap de vraag niet eens, laat staan dat ik een antwoord kan bedenken. Rekenen met datums is simpel: [datumveld] + [testduur]. Of de functie DateAdd gebruiken, die hetzelfde oplevert. Allemaal heel simpel. De oplossing van noggeenguru snap ik nog minder; een SUM gebruiken op een datumveld in een GroupBy query? Heb je dat wel eens gedaan? Levert enorme getallen op: elke datum is al >45.000 dus drie datums optellen levert al een getal op dat je niet meer kan omzetten naar een datum. Bovendien krijg je dan datums die jij en ik niet meer gaan meemaken!

    Maar hoe dan ook: ik zou tabellen maken waarin je de testprocedures vastlegt inclusief de duur, en die koppelen aan de testtabel. Maar doe jezelf (en ons) een plezier, en doe er een voorbeeldje bij!
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  4. #4
    Junior Member
    Geregistreerd
    17 mei 2018
    Sorry ik was niet gelegenheid om er een voorbeeld bij te plakken. Hoopte dat het zo ook zou lukken. En het is gelukt. Bedankt NogGeenGuru union was de oplossing!

  5. #5
    Senior Member
    Geregistreerd
    5 augustus 2015
    Fijn om te horen!

    @Octafish
    In mijn query is geen gebruik gemaakt van een kolom waarin de tijdsduur gedefinieerd staat.
    als dit wel het geval is zou er inderdaad een datum uit komen die wij zeker niet mee gaan maken.
    dit is in access op te lossen door de tabellen te joinen.

    bijgaand voorbeeld zou hier helderheid over moeten scheppen.
    bevat ook een view waarin de gebruiker een testtype en datum op kan geven.
    Attached Files Attached Files

  6. #6
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    @noggeenguru: jij spreekt de taal van timpoe duidelijk wel en ik niet, want ik lees dat toch echt anders:
    Quote Origineel gepost door Timpoe Bekijk Bericht
    Nu zouden we graag willen dat een Query berekend op welke datum de testen klaar zijn als je inzet datum en type testt invult.
    Inzet datum: de startdatum, lijkt mij. Is dus echt wel een datum. Type test: Dat is dus die A, B of C op basis waarvan de einddatum (toch echt de startdatum + duur) berekend moet worden. Dus op basis van deze aannames moet het ontzettend veel simpeler kunnen dan jouw oplossing.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  7. #7
    Senior Member
    Geregistreerd
    5 augustus 2015
    @Octafish ik ben het met je eens hoor. Mijn eerst uitwerking was niet zo goed.

    In het voorbeeld-bestandje heb ik ook een oplossing toegevoegd die werkt vanuit startdatum + duur. Ook deze query kan ongetwijfeld beter/simpeler, maar gelukkig heeft het Timpoe toch nog kunnen helpen

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren