16. januar 2004 - 10:17Der er
13 kommentarer og 1 løsning
Problemer med en forespørgsel
Jeg har en tabel med følgende felter:
Dato Varenr Varebetegnelse Temperatur
Jeg skal bruge en forespørgsel der henter poster mellem 2 datoer, f.eks. 05-01-2004 og 09-01-2004, men samtidig skal data for temperatur vises som min, max og gennemsnit, for de enkelte varenumre.
Eksempel på data: Dato Varenr varebetegnelse Temperatur 05-01-2004 1322 Vare1 11,9 05-01-2004 1322 Vare1 12,2 06-01-2004 1322 Vare1 11,3 06-01-2004 1322 Vare1 14,2 07-01-2004 1323 Vare2 11,2
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Hmmm....ikke helt, mufoxe og overchord. Denne kode virker (næsten!):
SELECT VareNr, Min([Temperatur]) AS [MinOfTemperatur], Max([Temperatur]) AS [MaksOfTemperatur], Avg([Temperatur]) AS [GennemsnitOfTemperatur] FROM WHERE (((.Dato)>#1/4/2004# And (.Dato)<#1/10/2004#)) GROUP BY VareNr;
Der er dog kun det problem at jeg så ikke får vist Datoen i resultatet! :(
Det er jo fordi du har fjernet den fra SELECT listen. Hvis du kigger på mit første eksempel, kan du se at Dato kolonnen er listet som den færste.
SELECT Dato, VareNr, Min([Temperatur]) AS [MinOfTemperatur], Max([Temperatur]) AS [MaksOfTemperatur], Avg([Temperatur]) AS [GennemsnitOfTemperatur] FROM WHERE (((.Dato)>#1/4/2004# And (.Dato)<#1/10/2004#)) GROUP BY VareNr, Dato;
Ja, det er jeg klar over, men når jeg tilføjede den, fik jeg besked om at "Du har forsøgt at køre en forespørgsel der ikke medtager det angivne udtryk "Dato" som en del af en aggregatfunktion"!
Problemet er nu, at datointervalget IKKE skal sættes på forespørgslen, men kommer fra en formular, som laver en filtertekst tekststreng. Med mindre jeg har skrevet datointervalget i forespørgslen, så vil jeg få en parameter-popup boks, som spørger efter en dato! :(
Jamen dog. Så skal du jo bare have smidt din variabel ind i udtrykket i Dato > VariabelFraDialog AND Dato < VariabelFraDialog.
Det har ikke noget med GROUP BY og SELECT listen at gøre. Jeg kan ikke komme nærmere end det, idet jeg ikke aner noget som helst om Access og formularer.
Jeg er nået fremtil at skulle kalde min forespørgsel med en parameter. Parameter: filtertekst = filtertekst & "([Dato] Between #" & Format([fra], "mm-dd-yy") & "# and #" & Format([til], "mm-dd-yy") & "#)"
Kald til forespørgsel: DoCmd.OpenReport ReportName, acViewPreview, , filtertekst
Værdien af det felt som forespørgslen skal køres efter er: ([dato] between #01-05-04# and #01-05-04#) men så spørger den om "indtast parameter" (for feltet "dato")
Synes godt om
Ny brugerNybegynder
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.