28. marts 2003 - 08:34Der 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.
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
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.
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.
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.
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??
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.