Du kan använda beräknade kontroller i formulär och rapporter i Access-databaser för att visa resultatet av en beräkning. Om du till exempel har en rapport som visar antalet sålda artiklar och priset för varje enhet kan du lägga till en beräknad textruta som multiplicerar dessa två fält för att visa totalpriset. Egenskapen Kontrollkälla för den beräknade textrutan innehåller ett uttryck som multiplicerar två fält (antalet objekt gånger enhetspriset) för att få resultatet.
Vad vill du göra?
Skapa en beräknad kontroll
Med den här proceduren kan du skapa en beräknad kontroll utan att använda en kontrollguide.
-
Högerklicka på formuläret eller rapporten i navigeringsfönstret och klicka sedan på Designvy.
-
Klicka på verktyget för den typ av kontroll du vill skapa i gruppen Kontroller på fliken Design.
En lista över kontrolltyper som kan användas som beräknade kontroller finns i avsnittet Ta reda på vilka typer av kontroller som kan användas som beräknade kontroller.
-
Placera pekaren där du vill att kontrollen ska placeras i formuläret eller rapporten och klicka sedan på formuläret eller rapporten för att infoga kontrollen.
-
Om en kontrollguide startas klickar du på Avbryt för att stänga den.
-
Markera kontrollen, tryck på F4 för att visa egenskapssidan och skriv sedan ett uttryck i egenskapsrutan Kontrollkälla . Om du vill använda Expression Builder för att skapa uttrycket klickar du på bredvid egenskapsrutan Kontrollkälla .
-
Växla till formulärvyn eller rapportvyn och kontrollera att den beräknade kontrollen fungerar som förväntat.
Meddelanden:
-
Ange operatorn = före varje uttryck. Till exempel: =[Enhetspris]*.75.
-
Mer information om hur du skapar uttryck finns i artikeln Lär dig att bygga ett uttryck.
-
Om du behöver mer utrymme för att skriva ett uttryck i egenskapsrutan Kontrollkälla trycker du på SKIFT+F2 för att öppna rutan Zooma .
-
Om formuläret eller rapporten baseras på en fråga vill du kanske placera uttrycket i frågan i stället för i en beräknad kontroll. Det kan förbättra prestanda och om du beräknar summor för grupper av poster är det enklare att använda namnet på en beräknat fält i en mängdfunktion.
-
När du sorterar på en beräknad kontroll i ett formulär eller en rapport kontrollerar du att egenskapen Format för kontrollen är rätt inställd. Annars kan beräknade numeriska värden eller datumvärden sorteras alfabetiskt i stället för numeriskt.
-
Ändra en bunden kontroll till en beräknad kontroll
Ett bra sätt att skapa en beräknad kontroll är att först skapa en bunden kontroll (till exempel genom att dra ett fält från fönstret Fältlista till formuläret eller rapporten) och sedan redigera egenskapen Kontrollkälla för den bundna kontrollen för att skapa ett uttryck. Det fungerar bra, så länge du ser till att namnet på kontrollen inte står i konflikt med något av fältnamnen i uttrycket. Mer information om hur du skapar en bunden kontroll genom att dra ett fält från fönstret Fältlista finns i artikeln Lägga till ett fält i ett formulär eller en rapport.
Om du redan har skapat den bundna kontrollen använder du följande procedur för att ändra den till en beräknad kontroll och undvika namnkonflikter.
-
Högerklicka på formuläret eller rapporten i navigeringsfönstret och klicka sedan på Designvy.
-
Klicka på det fält du vill ändra och tryck sedan på F4 för att öppna egenskapssidan.
-
Om egenskapen Namn på fliken Alla på egenskapssidan matchar egenskapen Kontrollkälla redigerar du egenskapen Namn så att de två egenskaperna inte matchar. Kontrollera att namnet du anger inte är ett reserverat ord eller namnet på ett annat fält i databasen. Mer information om reserverade ord finns i artikeln Läs mer om reserverade ord och symboler i Access.
-
Redigera strängen i egenskapsrutan Kontrollkälla så att den innehåller det uttryck du vill använda.
-
Tryck på CTRL+S för att spara ändringarna.
-
Växla till layoutvyn eller formulärvyn och kontrollera att den beräknade kontrollen fungerar som förväntat.
Om kontrollen inte visar de data du vill ha (till exempel om Access visar #Name? i kontrollen) kontrollerar du datakällan för formuläret eller rapporten för att säkerställa att alla fält som du använde i uttrycket är tillgängliga. Om datakällan är en fråga kan du behöva lägga till ett eller flera fält i frågan innan uttrycket fungerar.
Meddelanden:
-
Ange operatorn = före varje uttryck. Till exempel: =[Enhetspris]*.75.
-
Om du behöver mer utrymme för att skriva ett uttryck i egenskapsrutan Kontrollkälla trycker du på SKIFT+F2 för att öppna rutan Zooma .
-
Om formuläret eller rapporten baseras på en fråga vill du kanske placera uttrycket i frågan i stället för i en beräknad kontroll. Det kan förbättra prestanda och om du beräknar summor för grupper av poster är det enklare att använda namnet på en beräknat fält i en mängdfunktion.
-
När du sorterar på en beräknad kontroll i ett formulär eller en rapport kontrollerar du att egenskapen Format för kontrollen är korrekt inställd. Annars kan beräknade numeriska värden eller datumvärden sorteras alfabetiskt i stället för numeriskt.
Lär dig vilka typer av kontroller som kan användas som beräknade kontroller
Textrutor är det vanligaste valet för en beräknad kontroll eftersom de kan visa så många olika typer av data. Alla kontroller som har egenskapen Kontrollkälla kan dock användas som en beräknad kontroll. I många fall är det inte meningsfullt att använda en viss kontrolltyp som en beräknad kontroll, eftersom du inte kan uppdatera den kontrollen på det sätt som du kan uppdatera en bunden eller obunden kontroll. Om du till exempel placerar en kryssruta i ett formulär och sedan anger ett uttryck i egenskapen Kontrollkälla för kryssrutan kan du inte längre markera eller avmarkera kryssrutan genom att klicka på den. Kryssrutan visas markerad eller avmarkerad, baserat på resultatet av uttrycket. Om du klickar på kryssrutan visas en avisering i statusfältet i Access: Kontrollen kan inte redigeras, den är bunden till uttrycket <uttrycket>. I en rapport kan det dock vara bra att basera en kryssrutekontroll på resultatet av en beräkning, eftersom kontroller i rapporter endast används för att visa information.