sql >> Databasteknik >  >> RDS >> Access

Använda SQL Views för att lägga till/redigera data i Microsoft Access

Använda SQL Views för att lägga till/redigera data i Microsoft Access

Detta är del II av en serie i två delar om åsikter jag har skrivit, du kan se del I här.

Under de senaste åren har jag haft stor erfarenhet av att arbeta med Access-databaser med data kopplade till tabeller lagrade i SQL Server. Med relationsdatabaser och uppslagstabeller kan du enkelt sluta med en vy som innehåller flera numeriska kolumner som bara innehåller primärnyckeln från andra tabeller.

Säg till exempel att du har en databas med två tabeller:en för företagsinformation och en annan bara för kontakter, men du behöver länka dina kontakter med företag och du har situationer där en kontakt är länkad till flera företag. Du kan enkelt hantera detta genom att skapa en tredje tabell med företagskontakter som skulle vara rader med data som innehåller företags-ID och kontakt-ID. Det finns många situationer där du skulle ha en liknande tabell som länkar data från en tabell till en annan, men dessa tabeller måste underhållas och och hanteras av användare som verkligen behöver se underliggande data och inte bara ID:n. För att lösa problemet kan du skapa en vy med alla nödvändiga tabeller och basera ditt formulär på den länkade vyn, men du kommer snabbt att märka att du inte kan redigera några data, allt är skrivskyddat.

Tips för att göra din vy redigerbar

För att kunna redigera din vy i Access måste du se till att den har en primärnyckel från tabellen du vill redigera, tillsammans med tidsstämpelfältet och ett index. De två första kan enkelt uppnås genom att lägga till fälten i din vydesign i SQL Server, för de senare använd CREATE UNIQUE INDEX som visas nedan, tillsammans med koden för att lägga till din vy som en länkad tabell:

Dim tdf As DAO.TableDef
Dim db As DAO.Database

Set db =CurrentDb
Set tdf =db.CreateTableDef
tdf.Name =“ViewNameInAccess”
tdf.SourceTableName =“dbo.ViewName ”
tdf.Connect =“ODBC;
db.TableDefs.Append tdf

db. Kör “SKAPA UNIKT INDEX [PRIMÄR] PÅ [ViewNameInAccess](MainTableID);”, dbFailOnError


  1. dela nyckelord för post php mysql

  2. Hur parametriserar jag en nollsträng med DBNull.Value tydligt och snabbt

  3. Hur man installerar Kubernetes med Kubeadm

  4. SQL WHERE-sats som matchar värden med efterföljande mellanslag