Avatar billede sonos Nybegynder
28. marts 2003 - 08:34 Der er 16 kommentarer og
1 løsning

Undlade at tage nogle datoér med i forespørgsel

Hejsa,

Jeg har en forespørgsel med følgende SQL:

SELECT FRFDV_DV_FRAPSIKR.PRODENH_KODE, FRFDV_DV_FRAPSIKR.FEJLKODE_NR_ANL, FRFDV_DV_FRAPSIKR.FEJLKODE_BESKR_ANL, FRF_DV_FRAPANMELD.FEJL_INDTRADT
FROM Fejlårsag RIGHT JOIN (Fejlsted RIGHT JOIN (Anlægsdel RIGHT JOIN (Anlæg RIGHT JOIN ([Bane nr 2] RIGHT JOIN ([VISIT-CAS_DRIFTSRAP] LEFT JOIN ([Bane nr] RIGHT JOIN (FRF_DV_FRAPANMELD LEFT JOIN FRFDV_DV_FRAPSIKR ON FRF_DV_FRAPANMELD.ID = FRFDV_DV_FRAPSIKR.FRAPANMELD_ID) ON [Bane nr].[Btr nr] = FRF_DV_FRAPANMELD.BTRSTR_ID) ON [VISIT-CAS_DRIFTSRAP].ID = FRF_DV_FRAPANMELD.DRAP_ID) ON [Bane nr 2].[Tib strk] = [Bane nr].[Bane nr]) ON Anlæg.Tal = FRFDV_DV_FRAPSIKR.FEJLKODE_NR_ANL) ON Anlægsdel.Tal = FRFDV_DV_FRAPSIKR.FEJLKODE_NR_ANLDEL) ON Fejlsted.Tal = FRFDV_DV_FRAPSIKR.FEJLKODE_NR_FEJLSTED) ON Fejlårsag.Tal = FRFDV_DV_FRAPSIKR.FEJLKODE_NR_ARS
GROUP BY FRFDV_DV_FRAPSIKR.PRODENH_KODE, FRFDV_DV_FRAPSIKR.FEJLKODE_NR_ANL, FRFDV_DV_FRAPSIKR.FEJLKODE_BESKR_ANL, FRF_DV_FRAPANMELD.FEJL_INDTRADT
HAVING (((FRFDV_DV_FRAPSIKR.PRODENH_KODE) Not Like "ISTR S-BAN") AND (([FRF_DV_FRAPANMELD.FEJL_INDTRADT]) Between #12/1/2002# And #2/28/2003#) AND ((DatePart("h",[FRF_DV_FRAPANMELD.FEJL_INDTRADT])) Not Between 7 And 15));

jeg vil gerne have at den ikke skal tage weekender med i søgningen, altså ved at jeg taster de datoér ind som jeg ikke vil have med,men det skal stadig være i den samme periode (12/1/2002 til 2/28/2003), hvor den så udelukker feks. 1/12-2002,7-8/12-2002,14-15/12-2002 osv. Jeg ved ikke om det kan lade sig gøre.

Mvh.

Sonos
Avatar billede henrik13 Nybegynder
28. marts 2003 - 08:38 #1
Hej
I weekenden er der vel ingen dataer, derfor ingen søgetid.
Vh Henrik
Avatar billede henrik13 Nybegynder
28. marts 2003 - 08:40 #2
Du kan også lave flere søgninger ved at søge hver uge for sig fra mandag til fredag.
Avatar billede sonos Nybegynder
28. marts 2003 - 08:50 #3
Hej Henrik13

Der er data i weekenden, men i weekenden skal jeg bare bruge hele døgnet. og det er lidt besværligt og dele det op i uger, da det drejer sig om meget data, som så skal regnes sammen
Avatar billede terry Ekspert
28. marts 2003 - 08:57 #4
suggestion>make another table containing dates which you want to include (workingdays). Then in the query make an INNER JOIN on this table. If the dates are NOT in both tables then it will not be shown in the result.
Avatar billede sonos Nybegynder
28. marts 2003 - 09:39 #5
Hej Terry

Er der en nem måde at gøre det på, eller skal jeg skrive hver enkel dato ind? for ellers kan jeg godt se at det vil virke. det vil bare være et stort stykke arbejde hver gang da det er forskellige perioder jeg arbejder med.
Avatar billede terry Ekspert
28. marts 2003 - 09:49 #6
well at the moment it takes time to alter your SQL for different periods. I dont know how many dates we are talking about so itsnt easy to suggest the best solution. If the dates changed all the time then you would need a form where you could add/delete dates in the table. If you wanted to added a large interval of dates then you could have two fields one for start date and on efor end date and in code you would add all dates within the interval.
That was a couple of ideas and I think it would make things more flexible than having to alter your query.
Avatar billede meku Nybegynder
28. marts 2003 - 09:57 #7
Hvis det kun er weekenderne du ikke vil havde med i din søgning hvorfor så ikke bare udelukke dem med en:

where datename(dw,[FRF_DV_FRAPANMELD.FEJL_INDTRADT]) not in ('Saturday','Sunday')
Avatar billede terry Ekspert
28. marts 2003 - 10:00 #8
and what about holidays then ?
Avatar billede sonos Nybegynder
28. marts 2003 - 10:00 #9
ok,

jeg vil prøve og rode lidt med det, ellers vender jeg tilbage

Tak for hjælpen

Sonos
Avatar billede terry Ekspert
28. marts 2003 - 10:03 #10
thanks, dont bother placing another question, if you need further info. then post a comment here :o)
Avatar billede sonos Nybegynder
28. marts 2003 - 10:03 #11
hej meku

jeg havde ikke set dit svar, men kan man godt gøre det når der ikke er dage med navne, men kun med tal??? eller ved access hvilke datoér der er hvilke dage??
Avatar billede terry Ekspert
28. marts 2003 - 10:07 #12
No if you want to find the day (saturday, sunday) then you have to use some function calls.
Avatar billede sonos Nybegynder
28. marts 2003 - 10:29 #13
function calls?????
Avatar billede terry Ekspert
28. marts 2003 - 10:36 #14
datediff(), weekday() these are function calls
Avatar billede sonos Nybegynder
28. marts 2003 - 10:42 #15
nå ok, det er sort snak for mig, jeg ved ikke hvad jeg skal gøre med dem.
Avatar billede terry Ekspert
28. marts 2003 - 10:51 #16
MUCH more than you can without them :o)
Avatar billede sonos Nybegynder
28. marts 2003 - 10:55 #17
det har du ret i "lol"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester