Querry ontwerpen op basis van datum

Status
Niet open voor verdere reacties.

JEPEDEWE

Terugkerende gebruiker
Lid geworden
14 jun 2006
Berichten
1.697
Hallo,
Ik zou graag een lijst hebben op basis van een querry die ik niet echt ontworpen krijg
Ik ben fysiotherapeut/kinesitherapeut. Alle patienten die hier in behandeling zijn hebben een uniek ID
Dit ID eindigt op een "1" indien ze NU in behandeling zijn of een "0" indien de behandeling afgesloten werd
Elke behandeling wordt geregistreerd in een tabel die "DATA" noemt en het ID van elke patient bevat
Nu had ik graag een lijst gehad van patienten die, voor het systeem, nog in behandeling zijn maar die ik de laatste 3 maand niet meer gezien heb
dus, iedereen met een ID die eindigt op een "1" en waarvoor in de tabel "DATA" de laatste 3 maand geen record meer aangemaakt werd

Iemand een handje?

Bedankt
JP
 
Met het datumcriterium <DateAdd("m";-3[Date()) kun je datums filteren die 3 maanden in het verleden liggen, en met Val(Right(PatientID;1))=1 filter je de actieve patiënten.
 
Dit geeft niet echt weer wat ik bedoel
Ik krijg alle data van behandelingen van in het begin van mijn registratie tot 3 maand geleden van alle actuele patienten..;
Echter
Het kan zijn dat die patienten ook nog recentere data geweest zijn...
de bedoeling is
Alle patienten die in een lopende behandeling zijn maar die ik de laatste 3 maand geenenkele keer gezien heb
Die dus in princiepe al 3 maand hun kat sturen maar toch nog een "lopende" reeks hadden...
(die wil ik natuurlijk hun rekening opsturen... dat is de bedoeling)

JP
 
De oplossing is vrij simpel: met de knop Totalen bijvoorbeeld, waarbij je bovenstaand criterium gebruikt en de functie bij het datumveld op MAX of LAATSTE zet, of bij een normale query aflopend sorteren op de datum en de waarde <Alles> vervangen door 1, zodat je per patiënt maar 1 record te zien krijgt. Door de aflopende sortering op bezoekdatum is dat dan automatisch het laatste bezoek.
 
Ik kom er niet uit
Ik stuur je mijn querry door
het resultaat zie je in querry2
wat je hier ziet zijn mensen die hier in behandeling waren, 3 maand geleden of langer
echter
in dat lijstje zijn alle namen NU NOG in behandeling..
dus in de tabel DATA hebben die NU nog records staan
de naam met de rode pijl was hier inderdaad 3 maand geleden maar die heb ik sinds niet meer gezien
dus
uiteindelijk wil ik een lijst met alleen namen zoals die met de rode pijl en de anderen NIET omdat die NU nog in behandeling zijn
(pfff zo moeilijk om uit te leggen)
graag je deskundigheid
JP
Querry2.jpg
Querry.jpg
 
Met plaatjes als voorbeeld kunnen we niet zoveel. Veel duidelijker dan ik hierboven gedaan heb, kan ik het niet uitleggen. Met een test database daarentegen wel.
 
OK, ik stuur een bestandje door
Als ik de querry laat lopen zoals jij voorstelt, krijg ik een aantal namen van mensen die hier 3 maand geleden behandeld werden
nl: Eddy Merckx, Peter Post en Joop Zoetemelk
Echter
Alleen Eddy Mercks kwam in 3 maand niet meer in de praktijk
Van de andere 2 namen heb ik nog records van recentere datum in mijn database zitten, dus, DIE moeten er uit
Ik zou dus een lijst moeten krijgen met 1 naam, die van Eddy Merckx
Bekijk bijlage DATA.zip

dikke merci
 
En toch klopt mijn voorstel...

Code:
SELECT Fiche.KODE, Fiche.NAAM, Max(DATA.DATUM) AS MaxVanDATUM, DATA.KODELANG
FROM Fiche INNER JOIN DATA ON Fiche.KODE = DATA.KODE
GROUP BY Fiche.KODE, Fiche.NAAM, DATA.KODELANG, Right([KODELANG],1)
HAVING (Max(DATA.DATUM)<DateAdd("m",-3,Date()) AND Right([KODELANG],1)="1");
 
en TOCH heb je WEER gelijk

Van harte bedankt
Fijne hulp
We kunnen rekeningen maken... joepie
Jean-Paul
 
Misschien domme vraag, maar om het resultaat snel en gewoon op papier te krijgen, wat is dan het correcte commando
Normaal bouw ik daar een rapport rond gebaseerd op deze querry maar er moet toch wel een snellere (meer basic weliswaar) manier/commando bestaan.
Merci
JP
 
Een snellere manier zou zijn om de query af te drukken, en daar heb je verder geen commando voor nodig. Of je dat moet willen is nog maar de vraag, want je hebt geen enkele controle over de output. Ik zou toch wat tijd steken in een simpel rapportje, desnoods met de wizard. Voor niets gaat er nog maar weinig de lucht in ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan