Access lagrar alla databastabeller, frågor, formulär, rapporter, makron och moduler i Access Jet-databasen som en enda fil.
För frågeutveckling erbjuder Access En ”Frågedesigner”, ett grafiskt användargränssnitt som tillåter användare att bygga frågor utan kunskap om strukturerat frågespråk. I Frågedesignern kan användarna ”visa” datakällor för frågan (som kan vara tabeller eller frågor) och välja de fält de vill returnera genom att klicka och dra dem i rutnätet., Man kan ställa in kopplingar genom att klicka och dra fält i tabeller till fält i andra tabeller. Åtkomst tillåter användare att visa och manipulera SQL-koden om så önskas. Alla Åtkomsttabeller, inklusive länkade tabeller från olika datakällor, kan användas i en fråga.
Access stöder också skapandet av ”pass-through queries”. Dessa utdrag av SQL-kod kan ta itu med externa datakällor genom användning av ODBC-anslutningar på den lokala datorn. Detta gör det möjligt för användare att interagera med data som lagras utanför Access-programmet utan att använda länkade tabeller eller Jet.,Användare konstruerar genomgående frågor med hjälp av SQL-syntax som stöds av den externa datakällan.
När du utvecklar rapporter (i ”Design View”) orsakar tillägg eller ändringar av kontroller länkade frågor att exekvera i bakgrunden och designern tvingas vänta på att poster ska returneras innan den kan göra en annan ändring. Den här funktionen kan inte stängas av.
icke-programmerare kan använda makrofunktionen för att automatisera enkla uppgifter genom en serie rullgardinsval., Makron tillåter användare att enkelt kedja kommandon tillsammans som kör frågor, importera eller exportera data, öppna och stänga formulär, förhandsgranska och skriva ut rapporter, etc. Makron stöder grundläggande logik (IF-villkor) och möjligheten att ringa andra makron. Makron kan också innehålla undermakron som liknar subrutiner. I Access 2007 inkluderade förbättrade makron felhantering och stöd för tillfälliga variabler. Access 2007 introducerade också inbäddade makron som i huvudsak är egenskaper för ett objekts händelse. Detta eliminerade behovet av att lagra makron som enskilda objekt., Makron var dock begränsade i sin funktionalitet genom brist på programmeringsloopar och avancerad kodningslogik fram till Access 2013. Med betydande ytterligare förbättringar som infördes i Access 2013 blev makronernas kapacitet helt jämförbar med VBA. De gjorde funktionsrika webbaserade applikationsdistributioner praktiska, via ett kraftigt förbättrat Microsoft SharePoint-gränssnitt och verktyg, samt på traditionella Windows-datorer.
i likhet med andra produkter i Microsoft Office-paketet är det andra programmeringsspråket som används i Access Microsoft VBA. Det liknar Visual Basic 6.,0 (VB6) och kod kan lagras i moduler, klasser och kod bakom formulär och rapporter. För att skapa en rikare, effektivare och underhållbar färdig produkt med bra felhantering, utvecklas de flesta professionella åtkomstprogram med hjälp av VBA-programmeringsspråket snarare än makron, förutom där webbdistribution är ett affärskrav.,
för att manipulera data i tabeller och frågor i VBA eller makron tillhandahåller Microsoft två databasåtkomstbibliotek för COM-komponenter:
- Dataåtkomstobjekt (dao) (endast 32-bitars), som ingår i Access och Windows och utvecklats till ACE i Microsoft Access 2007 för ACCDE-databasformatet
- ActiveX-dataobjekt ActiveX-dataobjekt (ADO) (både 32-bitars och 64-bitarsversioner)
samt DAO och ADO, utvecklare kan också använda OLE DB och ODBC för att utveckla inbyggda C/C++ – program för åtkomst. För ADPs och direkt manipulation av SQL Server-data krävs ADO., DAO är mest lämplig för att hantera data i Access / Jet-databaser, och det enda sättet att manipulera de komplexa fälttyper i ACCDB tabeller.
i databasbehållaren eller navigeringsfönstret i Access 2007 och senare versioner kategoriserar systemet automatiskt varje objekt efter typ (t.ex. tabell, fråga, Makro). Många Åtkomstutvecklare använder leszynski namnkonventionen, även om detta inte är universellt; det är en programmeringskonvention, inte en DBMS-verkställd regel. Det är särskilt användbart i VBA där referenser till objektnamn kanske inte anger dess datatyp (t.ex. tbl för tabeller, qry för frågor).,
Utvecklare distribuerar Microsoft Access oftast för enskilda projekt och arbetsgrupper (Access 97 speed-karakteriseringen gjordes för 32 användare). Eftersom Access 97 och Access 2003 och 2007, Microsoft Access och hårdvara har utvecklats avsevärt. Databaser under 1 GB i storlek (som nu kan passa helt i RAM) och 200 samtidiga användare är väl inom funktionerna i Microsoft Access. Naturligtvis beror prestanda på databasdesign och uppgifter. Diskintensivt arbete som komplex sökning och frågande tar mest tid.,
eftersom data från en Microsoft Access-databas kan cachas i RAM, kan bearbetningshastigheten förbättras avsevärt när det bara finns en enda användare eller om data inte ändras. Tidigare orsakade effekten av paketlatens på rekordlåssystemet Åtkomstdatabaser att springa långsamt på ett virtuellt privat nätverk (VPN) eller ett brett nätverk (WAN) mot en Jet-databas. Från och med 2010 har bredbandsanslutningar mildrat denna fråga., Prestanda kan också förbättras om en kontinuerlig anslutning upprätthålls till back-end-databasen under hela sessionen i stället för att öppna och stänga den för varje tabellåtkomst. Om Åtkomstdatabasprestanda över VPN eller WAN lider, kan en klient som använder Remote Desktop Protocol (till exempel Microsoft Terminal Services) ge en effektiv lösning. Tillgång till databaser som är kopplade till SQL Server eller för att komma åt dataprojekt fungerar bra över VPN och WANs.,
i juli 2011 erkände Microsoft ett intermittent frågeprestandaproblem med alla versioner av Access och Windows 7 och Windows Server 2008 R2 på grund av att resurshanteringen är väldigt annorlunda i nyare operativsystem. Denna fråga påverkar allvarligt frågeprestanda på både Access 2003 och tidigare med Jet Database Engine code, samt Access 2007 och senare med Access Database Engine (ACE). Microsoft har utfärdat snabbkorrigeringar KB2553029 för Access 2007 och KB2553116 för Access 2010, men kommer inte att lösa problemet med Jet 4.0 som det är av mainstream support.,
I tidigare versioner av Microsoft Access, möjlighet att distribuera applikationer som krävs för inköp av Utvecklaren Verktygslådan. i Access 2007, 2010 och Access 2013 ”Runtime Only” – version som erbjuds som ett kostnadsfritt ladda ner, vilket gör distributionen av royalty-fria program är möjligt på Windows XP, Vista, 7 och Windows 8.X.
Split databas architectureEdit
Microsoft Access-program kan anta en split-databas arkitektur., Den enda databasen kan delas in i en separat ”back-end” fil som innehåller datatabeller (delas på en filserver) och en ”front-end” (som innehåller programmets objekt såsom frågor, formulär, rapporter, makron och moduler). ”Front-end” Access-programmet distribueras till varje användares skrivbord och länkas till den delade databasen. Med hjälp av detta tillvägagångssätt har varje användare en kopia av Microsoft Access (eller runtime-versionen) installerad på sin dator tillsammans med deras applikationsdatabas. Detta minskar nätverkstrafiken eftersom programmet inte hämtas för varje användning., Databasen ”front-end” kan fortfarande innehålla lokala tabeller för att lagra en användares inställningar eller tillfälliga data. Denna split-databasdesign möjliggör också utveckling av applikationen oberoende av data. En nackdel är att användare kan göra olika ändringar i sin egen lokala kopia av programmet och detta gör det svårt att hantera versionskontroll. När en ny version är klar ersätts front-end-databasen utan att datadatabasen påverkas. Microsoft Access har två inbyggda verktyg, databas Splitter och länkade tabell Manager, för att underlätta denna arkitektur.,
länkade tabeller i Access använder absoluta sökvägar snarare än relativa sökvägar, så utvecklingsmiljön måste antingen ha samma väg som produktionsmiljön eller en ”dynamic-linker” – rutin kan skrivas i VBA.
för mycket stora åtkomstdatabaser kan detta ha prestandaproblem och en SQL-backend bör övervägas under dessa omständigheter. Detta är mindre av ett problem om hela databasen kan passa in i datorns RAM eftersom åtkomst cachar data och index.,
migrering till SQL ServerEdit
för att skala åtkomstprogram till företag eller webblösningar innebär en möjlig teknik att migrera till Microsoft SQL Server eller motsvarande serverdatabas. En klient-server design minskar avsevärt underhåll och ökar säkerhet, tillgänglighet, stabilitet och transaktionsloggning.
Access 2000 via Access 2010 inkluderade en funktion som kallas Upsizing Wizard som gjorde det möjligt för användare att uppgradera sina databaser till Microsoft SQL Server, en ODBC client-server-databas., Den här funktionen togs bort från Access 2013. En extra lösning, SQL Server Migration Assistant for Access (SSMA), fortsätter att vara tillgänglig för gratis nedladdning från Microsoft.
en mängd olika uppgraderingsalternativ finns tillgängliga. Efter migrering av data och frågor till SQL Server kan Access-databasen länkas till SQL-databasen. Vissa datatyper är dock problematiska, framför allt ”ja / nej”. I Microsoft Access finns tre stater för datatypen ja/nej (sant/falskt): Tom, Nej/falskt (noll) och ja/sant (-1)., Motsvarande SQL Server datatyp är binär, med endast två tillstånd, tillåtna värden, noll och 1. Oavsett är SQL Server fortfarande den enklaste migreringen. Att hämta data från länkade tabeller är optimerad för bara de poster som behövs, men det här scenariot kan fungera mindre effektivt än vad som annars skulle vara optimalt för SQL Server. Till exempel, i fall där flera tabeller går fortfarande kräver kopiering av hela tabellen över nätverket.,
i tidigare versioner av Access, inklusive Access 2010, kan databaser också konverteras till Access Data Projects (ADP) som är knutna direkt till en SQL Server-databas. Den här funktionen togs bort från Access 2013. ADP stöder möjligheten att direkt skapa och ändra SQL Server-objekt som tabeller, vyer, lagrade procedurer och SQL Server-begränsningar. Vyer och lagrade procedurer kan avsevärt minska nätverkstrafiken för flerbordskopplingar. SQL Server stöder tillfälliga tabeller och länkar till andra datakällor utöver den enda SQL Server-databasen.,
slutligen ersätts vissa accessdatabaser helt av en annan teknik som ASP.NET eller Java när data konverteras. Men någon migration kan diktera stora ansträngningar eftersom Access SQL-språket är en mer kraftfull superset av standard SQL. Ytterligare, Access ansökningsförfaranden, vare sig VBA och makron, skrivs på en relativt högre nivå jämfört med de för närvarande tillgängliga alternativ som är både robust och omfattande., Observera att Åtkomstmakrospråket, som tillåter en ännu högre abstraktionsnivå än VBA, förbättrades avsevärt i Access 2010 och igen i Access 2013.
i många fall bygger utvecklare direkt webb-till-datagränssnitt med ASP.NET, samtidigt som stora affärsautomatiseringsprocesser, administrativa och rapporteringsfunktioner som inte behöver distribueras till alla I tillgång för informationsarbetare att behålla.
medan All åtkomstdata kan migrera till SQL Server direkt, kan vissa frågor inte migrera framgångsrikt., I vissa situationer kan du behöva översätta VBA-funktioner och användardefinierade funktioner till T–SQL eller.Net funktioner / förfaranden. Crosstab-frågor kan migreras till SQL Server med kommandot PIVOT.