Access gemmer alle databasetabeller, forespørgsler, formularer, rapporter, makroer og moduler i Access Jet-databasen som en enkelt fil.

til forespørgselsudvikling tilbyder Access en “Forespørgselsdesigner”, en grafisk brugergrænseflade, der giver brugerne mulighed for at opbygge forespørgsler uden kendskab til struktureret forespørgselssprog. I Forespørgseldesigneren kan brugerne “vise” datakilder til forespørgslen (som kan være tabeller eller forespørgsler) og vælge de felter, de ønsker returneret ved at klikke og trække dem ind i gitteret., Man kan oprette sammenføjninger ved at klikke og trække felter i tabeller til felter i andre tabeller. Access giver brugerne mulighed for at se og manipulere s .l-koden, hvis det ønskes. Enhver Adgangstabel, inklusive tilknyttede tabeller fra forskellige datakilder, kan bruges i en forespørgsel.

adgang understøtter også oprettelsen af “pass-through forespørgsler”. Disse uddrag af S .l-kode kan adressere eksterne datakilder ved hjælp af ODBC-forbindelser på den lokale maskine. Dette gør det muligt for brugere at interagere med data, der er gemt uden for Access-programmet uden at bruge tilknyttede tabeller eller Jet.,Brugere konstruere pass-through forespørgsler ved hjælp af S .l syntaks understøttes af den eksterne datakilde.

når der udvikles rapporter (i “designvisning”), medfører tilføjelser eller ændringer af kontroller, at eventuelle linkede forespørgsler udføres i baggrunden, og designeren er tvunget til at vente på, at poster returneres, før de kan foretage en anden ændring. Denne funktion kan ikke slås fra.

ikke-programmører kan bruge makrofunktionen til at automatisere enkle opgaver gennem en række rullemenuer., Makroer giver brugerne mulighed for nemt at kæde kommandoer sammen, såsom at køre forespørgsler, importere eller eksportere data, åbne og lukke formularer, forhåndsvisning og udskrivning af rapporter osv. Makroer understøtter grundlæggende logik (IF-betingelser) og evnen til at kalde andre makroer. Makroer kan også indeholde sub-makroer, der ligner subrutiner. I Access 2007 omfattede forbedrede makroer fejlhåndtering og understøttelse af midlertidige variabler. Access 2007 introducerede også indlejrede makroer, der i det væsentlige er egenskaber ved et objekts begivenhed. Dette eliminerede behovet for at gemme makroer som individuelle objekter., Imidlertid var makroer begrænset i deres funktionalitet ved mangel på programmeringssløjfer og avanceret kodningslogik indtil Access 2013. Med betydelige yderligere forbedringer, der blev introduceret i Access 2013, blev makroernes muligheder fuldt sammenlignelige med VBA. De gjorde feature rich practicaleb-baseret program implementeringer praktisk, via en stærkt forbedret Microsoft SharePoint interface og værktøjer, samt på traditionelle deskindo .s desktops.til fælles med andre produkter i Microsoft Office-pakken er det andet programmeringssprog, der bruges i Access, Microsoft VBA. Det ligner Visual Basic 6.,0 (VB6) og kode kan gemmes i moduler, klasser og kode bag formularer og rapporter. For at skabe et rigere, mere effektivt og vedligeholdeligt færdigt produkt med god fejlhåndtering udvikles de fleste professionelle Adgangsapplikationer ved hjælp af VBA-programmeringssproget snarere end makroer, undtagen hvor deploymentebinstallation er et forretningskrav.,

for At ændre data i tabeller og forespørgsler i VBA eller makroer Microsoft giver to database adgang til biblioteker af COM-komponenter:

  1. Data Access Objects (DAO) (kun 32-bit), som er inkluderet i Adgang og Windows og har udviklet sig til ES i Microsoft Access 2007 til ACCDE database format
  2. ActiveX Data Objects ActiveX Data Objects (ADO) (både 32-bit og 64-bit versioner)

Så godt som DAO-og ADO, udviklere kan også bruge OLE DB og ODBC for at udvikle native C/C++ – programmer for at få Adgang. For ADP ‘ er og den direkte manipulation af S .l Server-data kræves ADO., DAO er bedst egnet til styring af data i Access / Jet databaser, og den eneste måde at manipulere de komplekse felttyper i ACCDB tabeller.

i databasebeholderen eller navigationsruden i Access 2007 og senere versioner kategoriserer systemet automatisk hvert objekt efter type (f.eks. tabel, forespørgsel, Makro). Mange Access udviklere bruger Les .ynski navngivning, selvom dette ikke er universel; det er en programmering konvention, ikke en DBMS-håndhævet regel. Det er især nyttigt i VBA, hvor henvisninger til objektnavne muligvis ikke angiver dens datatype (f.eks.,

udviklere installerer Microsoft Access oftest til individuelle og arbejdsgrupper projekter (Access 97 speed karakterisering blev gjort for 32 brugere). Siden Access 97 og med Access 2003 og 2007 har Microsoft Access og Hard .are udviklet sig markant. Databaser under 1 GB i størrelse (som nu helt kan passe i RAM) og 200 samtidige brugere er godt inden for mulighederne i Microsoft Access. Selvfølgelig afhænger ydeevnen af databasedesign og opgaver. Diskintensivt arbejde som kompleks søgning og forespørgsel tager mest tid.,

da data fra en Microsoft Access-database kan cache i RAM, kan behandlingshastigheden forbedres væsentligt, når der kun er en enkelt bruger, eller hvis dataene ikke ændrer sig. I fortiden, er effekten af pakken ventetid på rekord-låse-system forårsaget Access-databaser til at køre langsomt på en virtual private network (VPN) eller et wide area network (WAN) mod en Jet-database. Fra 2010 har bredbåndsforbindelser mindsket dette problem., Ydeevnen kan også forbedres, hvis der opretholdes en kontinuerlig forbindelse til back-end-databasen i hele sessionen i stedet for at åbne og lukke den for hver tabeladgang. Hvis Access database performance over VPN eller .an lider, kan en klient, der bruger Remote Desktop Protocol (såsom Microsoft Terminal Services), give en effektiv løsning. Adgang databaser knyttet til s .l Server eller adgang til data projekter fungerer godt over VPN ‘er og Wan’ er.,

I juli 2011, Microsoft anerkendt en intermitterende query performance problem med alle versioner af Access, og Windows 7 og Windows Server 2008 R2 på grund af ressource management er meget forskellige i nyere operativsystemer. Dette problem alvorligt påvirker query performance på både Access 2003 og tidligere med Jet Database Engine kode, samt Access 2007 og senere med Access Database Engine (ACE). Microsoft har udstedt hotfi .es KB2553029 til Access 2007 og kb2553116 til Access 2010, men vil ikke løse problemet med Jet 4.0, da det er ude af mainstream support.,

I tidligere versioner af Microsoft Access, evnen til at distribuere programmer, der kræves køb af de Udvikler Toolkit; i Access 2007, 2010 og Adgang 2013 “Runtime Kun” version, der tilbydes som en gratis download, der gør fordelingen af royalty-free programmer muligt på Windows XP, Vista, 7 og Windows 8.Split.

Split database architectureEdit

Microsoft Access-applikationer kan vedtage en split-database arkitektur., Den enkelte database kan opdeles i en separat “back-end” fil, der indeholder datatabellerne (delt på en filserver) og en “front-end” (indeholdende programmets objekter såsom forespørgsler, formularer, rapporter, makroer og moduler). Den” front-end ” Adgang ansøgning distribueres til hver brugers skrivebord og knyttet til den delte database. Ved hjælp af denne tilgang har hver bruger en kopi af Microsoft Access (eller runtime-versionen) installeret på deres maskine sammen med deres applikationsdatabase. Dette reducerer netværkstrafik, da applikationen ikke hentes til hver brug., Databasen “front-end” kan stadig indeholde lokale tabeller til lagring af en brugers indstillinger eller midlertidige data. Dette split-database design tillader også udvikling af applikationen uafhængig af dataene. En ulempe er, at brugerne kan foretage forskellige ændringer i deres egen lokale kopi af programmet, og det gør det svært at styre versionsstyring. Når en ny version er klar, udskiftes front-end-databasen uden at påvirke datadatabasen. Microsoft Access har to indbyggede værktøjer, Database Splitter og Linked Table Manager, for at lette denne arkitektur.,

linkede tabeller i Access bruger absolutte stier snarere end relative stier, så udviklingsmiljøet skal enten have den samme sti som produktionsmiljøet, eller en “dynamisk linker”-rutine kan skrives i VBA.

for meget store Adgangsdatabaser kan dette have ydelsesproblemer, og en s .l-backend bør overvejes under disse omstændigheder. Dette er mindre et problem, hvis hele databasen kan passe ind i PC ‘ ens RAM, da Access caches data og indekser.,

Migration til SQL ServerEdit

uddybende artikel: Konvertering (database)

for At skalere få Adgang til virksomhedsapplikationer eller web-løsninger, er det en mulig teknik indebærer at migrere til Microsoft SQL Server eller tilsvarende server-database. Et klient-server-design reducerer vedligeholdelsen betydeligt og øger sikkerhed, tilgængelighed, stabilitet og transaktionslogning.

Access 2000 gennem Adgang 2010 indeholdt en funktion, der hedder databasekonvertering, der tillod brugerne at opgradere deres databaser til Microsoft SQL Server, ODBC-klient–server-database., Denne funktion blev fjernet fra Access 2013. En ekstra løsning, s .l Server Migration Assistant for Access (SSMA), er fortsat tilgængelig til Gratis do .nload fra Microsoft.

en række opgraderingsmuligheder er tilgængelige. Efter migrering af data og forespørgsler til s .l Server kan Access-databasen knyttes til s .l-databasen. Visse datatyper er dog problematiske, især “ja / nej”. I Microsoft Access er der tre tilstande for datatypen ja/nej (sand/falsk): tom, Nej/falsk (nul) og ja/sand (-1)., Den tilsvarende s .l Server-datatype er binær, med kun to tilstande, tilladte værdier, nul og 1. Uanset hvad, s .l Server er stadig den nemmeste migration. Hentning af data fra linkede tabeller er optimeret til netop de nødvendige poster, men dette scenarie fungerer muligvis mindre effektivt end hvad der ellers ville være optimalt for s .l Server. For eksempel i tilfælde, hvor multi-table sammenføjninger stadig kræver kopiere hele tabellen på tværs af netværket.,

I tidligere versioner af Access, herunder Adgang 2010, databaser kan også konverteres til Data fra Access-Projekter (.ADP), som er bundet direkte til en SQL Server-database. Denne funktion blev fjernet fra Access 2013. ADP understøtter evnen til direkte at oprette og ændre s .l Server objekter såsom tabeller, visninger, lagrede procedurer og S .l Server begrænsninger. Visningerne og lagrede procedurer kan reducere netværkstrafikken betydeligt for multi-table-tilslutninger. S .l Server understøtter midlertidige tabeller og links til andre datakilder ud over den enkelte s .l Server-database.,

endelig erstattes nogle Adgangsdatabaser fuldstændigt af en anden teknologi, såsom ASP.NET eller Java, når dataene er konverteret. Men enhver migration kan diktere stor indsats, da adgang s .l sprog er en mere kraftfuld supersæt af standard s .l. Yderligere, få adgang til ansøgningsprocedurer, hvad enten VBA og makroer, skrives på et relativt højere niveau i forhold til de aktuelt tilgængelige alternativer, der er både robuste og omfattende., Bemærk, at Access-makrosproget, der tillader et endnu højere abstraktionsniveau end VBA, blev markant forbedret i Access 2010 og igen i Access 2013.

i mange tilfælde bygger udviklere direkte interfaceseb-til-data-grænseflader ved hjælp af ASP.NET, samtidig med at store business automatisering processer, administrative og rapportering funktioner, der ikke behøver at blive distribueret til alle I adgang for informationsmedarbejdere til at opretholde.selvom alle adgangsdata kan migrere direkte til S .l Server, kan nogle forespørgsler ikke migrere med succes., I nogle situationer kan det være nødvendigt at oversætte VBA-funktioner og brugerdefinerede funktioner til T–S .l-eller.net-funktioner / – procedurer. Crosstab-forespørgsler kan migreres til s .l Server ved hjælp af PIVOT-kommandoen.