sql >> Database teknologi >  >> RDS >> Access

Brug af SQL Views til at tilføje/redigere data i Microsoft Access

Brug af SQL Views til at tilføje/redigere data i Microsoft Access

Dette er del II af en todelt serie om synspunkter, jeg har skrevet. Du kan se del I her.

I løbet af de sidste par år har jeg haft stor erfaring med at arbejde på Access-databaser, hvor Data er linket til tabeller, der er gemt i SQL Server. Med relationelle databaser og opslagstabeller kan du nemt ende op med en visning, der indeholder flere numeriske kolonner, som kun indeholder primærnøglen fra andre tabeller.

Lad os sige, at du f.eks. har en database med to tabeller:en til virksomhedsoplysninger og en anden kun for kontakter, men du skal forbinde dine kontakter med virksomheder, og du har situationer, hvor en kontakt er knyttet til flere virksomheder. Du kan nemt administrere dette ved at oprette en tredje tabel med CompanyContacts, som ville være rækker af data, der indeholder CompanyID og ContactID. Der er mange situationer, hvor du ville have en lignende tabel, der forbinder data fra en tabel til en anden, men disse tabeller skal vedligeholdes og og administreres af brugere, der virkelig har brug for at se de underliggende data og ikke kun ID'erne. For at løse problemet kan du oprette en visning med alle de nødvendige tabeller og basere din formular på den linkede visning, men du vil hurtigt bemærke, at du ikke kan redigere nogen data, det hele er skrivebeskyttet.

Tips til at gøre din visning redigerbar

For at redigere din visning i Access skal du sørge for, at den har en primær nøgle fra den tabel, du ønsker at redigere, sammen med tidsstempelfeltet og et indeks. De to første kan nemt opnås ved at tilføje felterne i dit visningsdesign i SQL Server, for sidstnævnte skal du bruge CREATE UNIQUE INDEX som vist nedenfor, sammen med koden for at tilføje din visning som en linket tabel:

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

Sæt db =CurrentDb
Indstil tdf =db.CreateTableDef
tdf.Name =“ViewNameInAccess”
tdf.SourceTableName =“dbo.ViewName ”
tdf.Connect =“ODBC;
db.TableDefs.Append tdf

db. Udfør "CREATE UNIQUE INDEX [PRIMARY] ON [ViewNameInAccess](MainTableID);", dbFailOnError


  1. Få MySQL-databaseoutput via PHP til XML

  2. Sådan tilføjes automatisk stigningskolonne i eksisterende tabel i MySQL

  3. MySQL - længde() vs char_length()

  4. Sådan opsætter du Oracle EBS Auditing