sql >> Database teknologi >  >> RDS >> Access

Sådan rettes manglende felter i en krydstabuleringsforespørgsel i Access

Ret "Crosstab Missing Field Syndrome" én gang for alle!

Et almindeligt problem, som mange mennesker støder på, når de opretter krydstabelforespørgsler, er, at en kolonne kun vil blive vist, hvis der er data for den gruppe. Hvis der ikke er data for den gruppe, vises kolonnen ikke.

Du kan rette dette, så kolonnen altid vises, uanset om der er data for den pågældende kolonne eller ej. Her er et eksempel.

  • Før

    I dette eksempel er en salgsforespørgsel grupperet efter måned. Hvis der ikke er salgsdata for en given måned, vises denne måned ikke. Hele kolonnen mangler. Så vi ender med maj, juni, august... osv .

    Faktisk er et andet problem med denne rapport, at månederne er opført i alfabetisk rækkefølge (i modsætning til den kronologiske rækkefølge for hver måned). Så det er lidt svært at tyde alle data.

  • Efter

    Nu er der ikke noget galt med ovenstående eksempel, hvis det er alt, du har brug for.

    Men med en lille ændring kunne denne forespørgsel vise alle måneder, uanset om der er data for den måned. Desuden vil de blive opført i kronologisk rækkefølge i henhold til dato.

    Det gør vi nedenfor.

  1. Åbn forespørgslen i designvisning

    I navigationsruden skal du højreklikke på forespørgslen og vælge Designvisning fra kontekstmenuen.

    Dette åbner forespørgslen i Design View.

    Hvis du allerede har forespørgslen åben i dataarkvisning, kan du blot skifte til designvisning.

  2. Åbn egenskabsarket

    Klik på Egenskabsark i båndet (fra fanen Design).

    Dette åbner egenskabsarket ved siden af ​​skærmen.

  3. Tilføj kolonneoverskrifter

    I Kolonneoverskrifter egenskabsfelt, skal du indtaste kolonneoverskrifterne, som du ønsker, at de skal vises, og i den rækkefølge, du ønsker, at de skal vises.

    Du kan også omgive hver værdi i dobbelte anførselstegn, men Access vil gøre dette for dig, hvis du ikke gør det.

    Tilføjelse af kolonneoverskrifter fortæller eksplicit Access, hvilke kolonneoverskrifter der skal vises. Så selvom der ikke er nogen data for den kolonne, vil den stadig blive vist.

    I dette eksempel indtaster vi hver måned adskilt af et komma.

  4. Forespørgselsresultatet

    Når vi kører forespørgslen, ser vi, at alle tolv måneder nu er opført som kolonneoverskrifter, selv når der ikke er nogen data for den måned.


  1. Introduktion til PL/SQL-samlinger i Oracle-databasen

  2. Relationel algebra

  3. Sådan aktiveres logning for SQL-sætninger, når du bruger JDBC

  4. Sådan konverteres Unix-epoke til et tidsstempel