Access
 sql >> Baza danych >  >> RDS >> Access

Używanie widoków SQL do dodawania/edycji danych w programie Microsoft Access

Używanie widoków SQL do dodawania/edycji danych w programie Microsoft Access

To jest druga część dwuczęściowej serii poświęconej poglądom, które napisałem. Część I możesz zobaczyć tutaj.

W ciągu ostatnich kilku lat miałem duże doświadczenie w pracy nad bazami danych Access z danymi połączonymi z tabelami przechowywanymi w SQL Server. Dzięki relacyjnym bazom danych i tabelom przeglądowym możesz łatwo uzyskać widok zawierający wiele kolumn liczbowych, które po prostu przechowują klucz podstawowy z innych tabel.

Załóżmy na przykład, że masz bazę danych z dwiema tabelami:jedną dla informacji o firmie, a drugą tylko dla kontaktów, ale musisz połączyć swoje kontakty z firmami i zdarzają się sytuacje, w których kontakt jest powiązany z wieloma firmami. Możesz łatwo zarządzać tym, tworząc trzecią tabelę CompanyContacts, która byłaby wierszami danych zawierającymi CompanyID i ContactID. Istnieje wiele sytuacji, w których będziesz mieć podobną tabelę, która łączy dane z jednej tabeli do drugiej, ale te tabele muszą być utrzymywane i zarządzane przez użytkowników, którzy naprawdę potrzebują widzieć podstawowe dane, a nie tylko identyfikatory. Aby rozwiązać ten problem, możesz utworzyć widok ze wszystkimi potrzebnymi tabelami i oprzeć formularz na widoku połączonym, ale szybko zauważysz, że nie możesz edytować żadnych danych, wszystkie są tylko do odczytu.

Wskazówki dotyczące edytowania widoku

Aby edytować widok w programie Access, musisz upewnić się, że zawiera on klucz podstawowy z tabeli, którą chcesz edytować, wraz z polem sygnatury czasowej i indeksem. Pierwsze dwa można łatwo wykonać, dodając pola w projekcie widoku w SQL Server, w przypadku drugiego użyj CREATE UNIQUE INDEX, jak pokazano poniżej, wraz z kodem, aby dodać widok jako połączoną tabelę:

Przyciemnij tdf jako DAO.TableDef
Przyciemnij bazę jako DAO.Baza danych

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

db.Execute „UTWÓRZ UNIKALNY INDEKS [PRIMARY] ON [ViewNameInAccess](MainTableID);”, dbFailOnError


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NAJLEPSZE WIADOMOŚCI:Nowy Microsoft SQL Server Native Client 18 wydany!

  2. Korzystanie z danych MS Access w korespondencji seryjnej

  3. Jak dodać logo do nagłówka formularza w programie Microsoft Access

  4. Jak zarządcy nieruchomości mogą poprawić wydajność dzięki bazie danych

  5. Projekt bazy danych salonu fryzjerskiego