Artiklen forklarer, hvorfor brugerne bør undgå at bruge cberegne felter i databasen og i stedet bruge forespørgsler.
MS Access giver brugerne mulighed for at oprette beregnede kolonner (felttype) i tabeldesignet for at udføre forskellige beregninger, men oftere bryder det reglerne for normalisering. Det anbefales derfor at bruge forespørgsler i stedet for beregnede felter. Denne artikel vil uddybe dette punkt i detaljer.
Beregnede felter i MS Access
Beregnede felter er en integreret del af regnearket og er designet til at hjælpe brugerne med at udvikle applikationer effektivt. Men ifølge normaliseringsreglen anbefales det ikke at gemme værdier, der afhænger af andre felter for at undgå forvirring og uregelmæssighed. Beregnede felter, selvom de er praktiske og nemme at bruge, bør undgås, fordi de ikke er i stand til at kalde brugerdefinerede funktioner, da de kun er programmeret til at køre de indbyggede funktioner. Adgang tillader ikke beregnede felter at inkludere felter fra forskellige tabeller eller forespørgsler. Brugere skal også angive alle andre parametre for at undgå fejl. Det er også værd at overveje, at resultaterne af beregnede felter kun beregnes, når de genereres ved kørselstid, dvs. på tidspunktet for udførelsen af en forespørgsel eller en rapport baseret på en forespørgsel.
Det skal bemærkes, at Access-versioner før MS Access 2010 ikke ville være i stand til at fungere i tabellerne og dermed begrænse dens anvendelse. Pålideligheden af beregnede felter er forholdsvis lav, da resultaterne næppe opdateres korrekt, når udtrykket ændres, efter at data er indtastet i tabellen. Dette er hovedårsagerne til at undgå beregnede felter.
Forespørgsler

Lad os tage et eksempel på to felter, Antal og Enhedsomkostninger, hvor brugeren skal bruge udtrykket Antal * Enhedsomkostninger til et andet felt, 'Beløb'. Så i stedet for at bruge Beregn-felter, skal brugeren oprette en forespørgsel baseret på tabellen. De kan skrive udtrykket i feltrækken i forespørgselsdesignet, og det kan skrives som følger
Amount: [Quantity] * [UnitCost]
Det vil skabe et andet felt kaldet beløb, som ville være enklere og mere effektivt. Formularerne og rapporterne baseret på denne forespørgsel behandler de beregnede felter som enhver anden post.
Lagring af et beregnet resultat
Der er også et par tilfælde, hvor brugerne føler behov for at gemme en anden værdi og nogle fleksible regler. Det kan dog gøres ved hjælp af After Update-begivenhed, der giver brugerne mulighed for at tilsidesætte beregningen og indtaste en anden værdi efter deres præference.
I MS Access 2010-versionen kan man vælge Beregnet datatype, der viser udtrykket. Brugere kan skrive dette udtryk (f.eks. [Antal] * [Enhedspris]), og Access foretager beregningerne hver gang en bruger indtaster posten. Problemet med funktionen er, at der er begrænsede udtryk, hvilket begrænser brugerne til at bruge det til reelle formål.
Som Access-bruger skal du altid være parat til at håndtere hændelser med datakorruption. Hvis du støder på et sådant scenario, tøv ikke med at kalde et kraftfuldt værktøj som DataNumen Access Repair til rette mdb filer.
Forfatter Introduktion:
Vivian Stevens er en datagendannelsesekspert i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder reparation kvm og excel-genopretningssoftwareprodukter. For mere information besøg www.datanumen.com