Momentálne ste offline a čaká sa, kým sa znova pripojíte na internet

Ako vytvoriť väzbu formuláre programu Microsoft Access na ADO skupín záznamov

Poskytovanie technickej podpory pre balík Office 2003 sa skončilo

8. apríla 2014 ukončila spoločnosť Microsoft poskytovanie technickej podpory pre balík Office 2003. Táto zmena ovplyvnila aktualizácie softvéru a možnosti zabezpečenia. Zistite, čo to pre vás znamená a ako ponechať počítač zabezpečený.

DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.

Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:281998
Tento článok bol archivovaný. Je publikovaný v aktuálnej podobe a už nebude aktualizovaný.
Rozšírené: Vyžaduje expertné kódovanie, interoperability a multiuser zručnosti.

Tento článok sa vzťahuje na databázy programu Microsoft Access (.mdb) a na Projekt programu Microsoft Access (.adp).

SUHRN
Tento článok popisuje, čo je potrebné vytvoriť Aktualizovateľný formulár, ktorý je viazaný na ActiveX Data Objects (ADO) Množina záznamov objekt.
DALSIE INFORMACIE
Naviazať formulára programu Microsoft Access na množine záznamov, musíte nastaviť Množina záznamov Vlastnosť formulára platné údaje Access Objects (DAO) alebo ADO Množina záznamov objekt.

V Množina záznamov Vlastnosť bola zavedená v programe Microsoft Access 2000 a umožňuje môžete naviazať formuláre na DAO alebo ADO Množina záznamov objekty. Formuláre v programe Access 2000, však podporuje iba updateability Ak ADO pripojenie je spustená pomocou MSDataShape a SQL Server OLEDB poskytovateľov. Ďalšie informácie o tomto obmedzenie v programe Access 2000, kliknite na nasledujúce číslo článku zobrazte článok v databáze Microsoft Knowledge Base:
227053 ACC2000: Formuláre založené na ADO skupín záznamov sú iba na čítanie
V programe Microsoft Access 2002 alebo novšej, môžete vytvoriť Aktualizovateľný formulár, ktorý je viazaný na množina záznamov súčasti ADO, ktorý používa iné OLEDB poskytovateľov. Formulár musí spĺňať niekoľko všeobecných požiadaviek pre formulár sa aktualizovateľný, keď je naviazaný na množina záznamov súčasti ADO. Tieto všeobecné požiadavky sú:
  1. Podkladové množina záznamov súčasti ADO musí byť aktualizovateľný.
  2. Množina záznamov musí obsahovať jedno alebo viacero polí, ktoré sú jednoznačne indexované, ako napríklad hlavný kľúč tabuľky.
Ostatné požiadavky na updateability líšia medzi rôznymi poskytovateľov. Tento článok popisuje, čo ostatné požiadavky sú pri používaní Microsoft SQL Server, Jet, ODBC a Oracle OLEDB poskytovateľov.

Požiadavky na server Microsoft SQL Server

Existujú dve hlavné požiadavky pre podporu updateability pri naviazanie formulár na množina záznamov súčasti ADO, ktorá používa server Microsoft SQL Server údaje:
  • Pripojenie množina záznamov súčasti ADO musí používať Microsoft OLEDB poskytovateľa prístupu 10.0 ako jeho poskytovateľ.
  • Pripojenie množina záznamov súčasti ADO musí používať Microsoft SQL OLEDB poskytovateľ servera ako jeho poskytovateľ údajov.
POZNÁMKA: Microsoft Access 10.0 OLEDB poskytovateľ je služba OLEDB poskytovateľa, ktorý bol napísaný špeciálne pre použitie v programe Microsoft Access. Nebolo to určené na použitie v aplikácie iné než Microsoft Access a nie je podporované v iných aplikáciách.

Pri vytváraní skupín záznamov ADO v rámci programu Microsoft Access, máte na výber ako ktoré ADO pripojenia budú použité skupiny záznamov. Váš ADO kód môžete zdieľať pripojenie ADO, Microsoft Access používa pre aktuálne otvorený v SQL Server databázu Súbor projektu (ADP) prístup; alebo môžete pomocou programovania vytvárať nové ADO pripojenie do odlišnej databázy servera SQL Server.

Pripojenie na ADO používajú program Microsoft Access

Ak používate súborom projektu programu Access (.adp), pripojený k Databáze Microsoft SQL Server, je možné pre váš ADO kód na zdieľanie ADO pripojenie, ktoré používa Microsoft Access. Toto pripojenie je vystavené The CurrentProject.AccessConnection Vlastnosť.

Následujúci príklad demonštruje ako naviazanie formulár na množina záznamov súčasti ADO, ktorý vychádza z údajov programu SQL Server, ktorý zdieľa ADO spojenie s Microsoft Access.
  1. Otvorte vzorky projekt NorthwindCS.adp.
  2. Otvorte formulár Zákazníci v návrhovom zobrazení.
  3. Jasné RecordSource Vlastnosť formulára sa odpojiť forme.
  4. Nastaviť PriOtvorení Vlastnosť formulára do udalostnej procedúry:
    Private Sub Form_Open(Cancel As Integer)   Dim cn As ADODB.Connection   Dim rs As ADODB.Recordset            'Use the ADO connection that Access uses   Set cn = CurrentProject.AccessConnection   'Create an instance of the ADO Recordset class, and   'set its properties   Set rs = New ADODB.Recordset   With rs      Set .ActiveConnection = cn      .Source = "SELECT * FROM Customers"      .LockType = adLockOptimistic      .CursorType = adOpenKeyset      .Open    End With      'Set the form's Recordset property to the ADO recordset   Set Me.Recordset = rs   Set rs = Nothing   Set cn = NothingEnd Sub					
  5. Uložte a zavrite formulár.
  6. Otvorte formulár Zákazníci vo formulárovom zobrazení.
  7. Pridanie, úprava alebo odstránenie záznamu vo formulári.
Všimnite si, že formulár je viazané na aktualizovateľný záznamov, ktorý je na základe údajov programu SQL Server.

Otvorenie samostatné pripojenie ADO

V určitý okamih, budete musieť otvoriť a spravovať svoje vlastné ADO pripojenie na server SQL Server. Napríklad by ste používať tento prístup, ak váš kód boli písomne v databáze programu Access (.mdb) alebo v projekte programu Access súbor (.adp), ktorý bol pripojený do odlišnej databázy SQL Server ako vaše aplikácia. Všimnite si, že keď použijete tento prístup, Microsoft odporúča, aby zatvoríte ADO pripojenie, ktoré ste otvorili, keď už nie sú potrebné. Pre napríklad chcete ukončiť ADO pripojenie v prípade uvoľniť formulár.

Nasledujúci príklad ukazuje ako otvoriť svoje vlastné ADO pripojenie k databáze Microsoft SQL Server a naviazať formulár na to:
  1. Otvorte ukážkovú databázu Northwind.mdb.
  2. Otvorte formulár Zákazníci v návrhovom zobrazení.
  3. Jasné RecordSource Vlastnosť formulára sa odpojiť forme.
  4. Nastaviť PriOtvorení Vlastnosť formulára do udalostnej procedúry:
    Private Sub Form_Open(Cancel As Integer)   Dim cn As ADODB.Connection   Dim rs As ADODB.Recordset            'Create a new ADO Connection object   Set cn = New ADODB.Connection   'Use the Access 10 and SQL Server OLEDB providers to   'open the Connection   'You will need to replace MySQLServer with the name   'of a valid SQL Server   With cn      .Provider = "Microsoft.Access.OLEDB.10.0"      .Properties("Data Provider").Value = "SQLOLEDB"      .Properties("Data Source").Value = "MySQLServer"      .Properties("User ID").Value = "sa"      .Properties("Password").Value = ""      .Properties("Initial Catalog").Value = "NorthwindCS"      .Open   End With   'Create an instance of the ADO Recordset class, and   'set its properties   Set rs = New ADODB.Recordset   With rs      Set .ActiveConnection = cn      .Source = "SELECT * FROM Customers"      .LockType = adLockOptimistic      .CursorType = adOpenKeyset      .Open    End With      'Set the form's Recordset property to the ADO recordset   Set Me.Recordset = rs   Set rs = Nothing   Set cn = NothingEnd Sub					
  5. Uvoľniť udalosti formulára pridajte nasledujúci kód:
    Private Sub Form_Unload(Cancel As Integer)   'Close the ADO connection we opened   Dim cn As ADODB.Connection   Set cn = Me.Recordset.ActiveConnection   cn.Close   Set cn = NothingEnd Sub					
  6. Uložte formulár a potom ho zatvorte.
  7. Otvorte formulár Zákazníci vo formulárovom zobrazení.
  8. Pridanie, úprava alebo odstránenie záznamu vo formulári.
Všimnite si, že formulár je viazané na aktualizovateľný záznamov, ktorý je na základe údajov programu SQL Server.

Požiadavky pre Microsoft Jet

Hoci je možné naviazať formulár na množina záznamov súčasti ADO ktorý používa údaje z databázy Jet, spoločnosť Microsoft odporúča, aby ste používali DAO namiesto toho. DAO je optimalizovaný pre Jet a zvyčajne vykonáva rýchlejšie ako ADO pri použití s databázy Jet.

Keď prepojíte formulár na ADO množina záznamov pomocou Microsoft Jet údajov, sú tu dve alternatívy:
  • Množina záznamov ActiveConnection Nehnuteľnosť musí používať službu Microsoft Access 10.0 OLEDB poskytovateľ, ako aj poskytovateľ Microsoft Jet 4.0 OLEDB údajov a množina záznamov musí byť kurzor na strane servera.

    -alebo-
  • Množina záznamov ActiveConnection Nehnuteľnosť musí používať iba poskytovateľa Microsoft Jet 4.0 OLEDB údajov a množina záznamov musí byť kurzor na strane klienta.
Podobné sekcii "Microsoft SQL Server" skôr v tomto článok, máte na výber, ktoré ADO pripojenie bude používať podľa množina záznamov pri používaní databázy Jet. Váš ADO kód môžete zdieľať pripojenie ADO Microsoft Access pomocou Jet súboru databázy (.mdb) v súčasnosti otvorená, alebo môžete pomocou programovania vytvárať nové ADO pripojenie na samostatné Jet súbor databázy.

Pripojenie na ADO používajú program Microsoft Access

Ak ste písať kód v tej istej databáze programu Microsoft Access (.mdb), ktorá obsahuje údaje, ktoré vaša skupina záznamov potrebuje, je možné, váš ADO kód na zdieľanie ADO pripojenia, ktorý používa program Microsoft Access. Toto pripojenie je vystavené CurrentProject.AccessConnection Vlastnosť. Následujúci príklad demonštruje ako vytvoriť väzbu formulár na POVYKU záznamov v databáze Jet zdieľaním pripojenia ADO, Microsoft Access práve používa:
  1. Otvorte ukážkovú databázu Northwind.mdb.
  2. Otvorte formulár Zákazníci v návrhovom zobrazení.
  3. Jasné RecordSource Vlastnosť formulára sa odpojiť forme.
  4. Nastaviť PriOtvorení Vlastnosť formulára do udalostnej procedúry:
    Private Sub Form_Open(Cancel As Integer)   Dim cn As ADODB.Connection   Dim rs As ADODB.Recordset                   Set cn = CurrentProject.AccessConnection   'Create an instance of the ADO Recordset class, and   'set its properties   Set rs = New ADODB.Recordset   With rs      Set .ActiveConnection = cn      .Source = "SELECT * FROM Customers"      .LockType = adLockOptimistic      .CursorType = adOpenKeyset      .CursorLocation = adUseServer      .Open    End With      'Set the form's Recordset property to the ADO recordset   Set Me.Recordset = rs   Set rs = Nothing   Set cn = NothingEnd Sub					
  5. Uložte formulár a potom ho zatvorte.
  6. Otvorte formulár Zákazníci vo formulárovom zobrazení.
  7. Pridanie, úprava alebo odstránenie záznamu vo formulári.
Všimnite si, že formulár je viazané na aktualizovateľný záznamov, ktorý je pomocou Jet údajov.

Otvorenie samostatné pripojenie ADO

V určitý okamih, budete musieť otvoriť a spravovať svoje vlastné ADO pripojenie k databáze Jet. Napríklad, budete musieť použiť tento prístup Ak ste písanie kódu v databáze, ktorá je oddelená od databázy obsahuje údaje, ktoré potrebujete na prístup. Všimnite si, že keď použijete toto prístup, spoločnosť Microsoft odporúča, že zavriete ADO pripojenie, otvorené, keď už nie sú potrebné. Napríklad, možno chcete zavrieť ADO pripojenia v prípade uvoľniť formulára.

Nasledujúci príklad ukazuje ako otvoriť svoje vlastné ADO pripojenie k databáze Microsoft Jet a naviazať formulár na to:
  1. Vytvoriť novú prázdnu databázu.
  2. Importovať formulár Zákazníci z databázy vzorky Databázu Northwind.mdb.
  3. Otvorte formulár Zákazníci v návrhovom zobrazení.
  4. Jasné RecordSource Vlastnosť formulára Vyraďovač pre formulár.
  5. Nastaviť PriOtvorení Vlastnosť formulára do udalostnej procedúry:
    Private Sub Form_Open(Cancel As Integer)   Dim cn As ADODB.Connection   Dim rs As ADODB.Recordset            'Create a new ADO Connection object   Set cn = New ADODB.Connection   With cn      .Provider = "Microsoft.Access.OLEDB.10.0"      .Properties("Data Provider").Value = "Microsoft.Jet.OLEDB.4.0"      .Properties("Data Source").Value = _          "C:\Program Files\Microsoft Office\Office10" & _          "\Samples\Northwind.mdb"      .Open   End With   'Create an instance of the ADO Recordset class, and   'set its properties   Set rs = New ADODB.Recordset   With rs      Set .ActiveConnection = cn      .Source = "SELECT * FROM Customers"      .LockType = adLockOptimistic      .CursorType = adOpenKeyset      .Open    End With      'Set the form's Recordset property to the ADO recordset   Set Me.Recordset = rs   Set rs = Nothing   Set cn = NothingEnd Sub					
  6. Uvoľniť udalosti formulára pridajte nasledujúci kód:
    Private Sub Form_Unload(Cancel As Integer)   'Close the ADO connection we opened   Dim cn As ADODB.Connection   Set cn = Me.Recordset.ActiveConnection   cn.Close   Set cn = NothingEnd Sub					
  7. Uložte formulár a potom ho zatvorte.
  8. Otvorte formulár Zákazníci vo formulárovom zobrazení.
  9. Pridanie, úprava alebo odstránenie záznamu vo formulári.
Všimnite si, že formulár je viazané na aktualizovateľný záznamov, ktorý je pomocou Jet údajov.

Požiadavky na ODBC

Keď prepojíte formulár na množina záznamov súčasti ADO, ktorý používa údaje z Databáza ODBC existujú dve hlavné požiadavky:
  • Musíte použiť ADO pripojenie, ktoré používa množina záznamov Microsoft OLEDB provider for ODBC.
  • Množina záznamov súčasti ADO musí byť kurzor na strane klienta.
Nasledujúci príklad ukazuje ako otvoriť ADO pripojenie Databáza ODBC a naviazať formulár na to.

POZNÁMKA: Tieto kroky predpokladať, že databáza ODBC obsahuje tabuľku s názvom ZÁKAZNÍKOM, ktorá je identická štruktúre do tabuľky Zákazníci vo vzorke databázu Northwind.mdb. To tiež predpokladá, ste vytvorili ODBC DSN s názvom MyDSN, ktorý používa ovládač ODBC, že budete musieť pripojiť k back-end databáza.
  1. Otvorte ukážkovú databázu Northwind.mdb.
  2. Otvorte formulár Zákazníci v návrhovom zobrazení.
  3. Jasné RecordSource Vlastnosť formulára Vyraďovač pre formulár.
  4. Nastaviť PriOtvorení Vlastnosť formulára do udalostnej procedúry:
    Private Sub Form_Open(Cancel As Integer)   Dim cn As ADODB.Connection   Dim rs As ADODB.Recordset   Dim strConnection As String   strConnection = "ODBC;DSN=MyDSN;UID=sa;PWD=;DATABASE=Northwind"   'Create a new ADO Connection object   Set cn = New ADODB.Connection   With cn      .Provider = "MSDASQL"      .Properties("Data Source").Value = strConnection      .Open   End With   'Create an instance of the ADO Recordset class, and   'set its properties   Set rs = New ADODB.Recordset   With rs      Set .ActiveConnection = cn      .Source = "SELECT * FROM Customers"      .LockType = adLockOptimistic      .CursorType = adOpenKeyset      .CursorLocation = adUseClient      .Open    End With      'Set the form's Recordset property to the ADO recordset   Set Me.Recordset = rs   Set rs = Nothing   Set cn = NothingEnd Sub					
  5. Uvoľniť udalosti formulára pridajte nasledujúci kód:
    Private Sub Form_Unload(Cancel As Integer)   'Close the ADO connection we opened   Dim cn As ADODB.Connection   Set cn = Me.Recordset.ActiveConnection   cn.Close   Set cn = NothingEnd Sub					
  6. Uložte formulár a potom ho zatvorte.
  7. Otvorte formulár Zákazníci vo formulárovom zobrazení.
  8. Pridanie, úprava alebo odstránenie záznamu vo formulári.
Všimnite si, že formulár je viazané na aktualizovateľný záznamov, ktorý je na základe údajov ODBC.

Požiadavky na Oracle

Keď prepojíte formulár na množina záznamov súčasti ADO, ktorý používa údaje z databázy Oracle existujú dve hlavné požiadavky:
  • Musíte použiť ADO pripojenie, ktoré používa množina záznamov Microsoft OLEDB poskytovateľa pre Oracle.
  • Množina záznamov súčasti ADO musí byť kurzor na strane klienta.
Nasledujúci príklad ukazuje ako otvoriť ADO pripojenie k databáze Oracle a naviazať formulár na to.

POZNÁMKA: Tieto kroky predpokladať, že Oracle database obsahuje tabuľku s názvom Zákazníci, ktorá je identická štruktúre do tabuľky Zákazníci v ukážkovú databázu Northwind.mdb.
  1. Otvorte ukážkovú databázu Northwind.mdb.
  2. Otvorte formulár Zákazníci v návrhovom zobrazení.
  3. Jasné RecordSource Vlastnosť formulára sa odpojiť forme.
  4. Nastaviť PriOtvorení Vlastnosť formulára do udalostnej procedúry:
    Private Sub Form_Open(Cancel As Integer)   Dim cn As ADODB.Connection   Dim rs As ADODB.Recordset            'Create a new ADO Connection object   Set cn = New ADODB.Connection   With cn      .Provider = "MSDAORA"      .Properties("Data Source").Value = "MyOracleServer"      .Properties("User ID").Value = "username"      .Properties("Password").Value = "password"                .Open   End With   'Create an instance of the ADO Recordset class, and   'set its properties   Set rs = New ADODB.Recordset   With rs      Set .ActiveConnection = cn      .Source = "SELECT * FROM Customers"      .LockType = adLockOptimistic      .CursorType = adOpenKeyset      .CursorLocation = adUseClient      .Open    End With     'Set the form's Recordset property to the ADO recordset   Set Me.Recordset = rs   Set rs = Nothing   Set cn = NothingEnd Sub					
  5. Uvoľniť udalosti formulára pridajte nasledujúci kód:
    Private Sub Form_Unload(Cancel As Integer)   'Close the ADO connection we opened   Dim cn As ADODB.Connection   Set cn = Me.Recordset.ActiveConnection   cn.Close   Set cn = NothingEnd Sub					
  6. Uložte formulár a potom ho zatvorte.
  7. Otvorte formulár Zákazníci vo formulárovom zobrazení.
  8. Pridanie, úprava alebo odstránenie záznamu vo formulári.
Všimnite si, že formulár je viazané na aktualizovateľný záznamov, ktorý je na základe údajov Oracle.
ODKAZY
Ďalšie informácie, kliknite na tlačidlo nasledujúci článok číslo článku databázy Microsoft Knowledge Base:
281784Rozdiel medzi Pripojenie a AccessConnection vlastnosti
Produkty tretích strán, ktoré sú v tomto článku sú vyrobené spoločnosťami, ktoré sú nezávislé od Microsoft. Microsoft robí žiadnu záruku, implikovaných alebo inak, výkon a spoľahlivosť týchto výrobkov.
OfficeKBHowTo inf ACC2002 reviewdocid
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Upozornenie: Tento článok bol preložený automaticky.

Vlastnosti

ID článku: 281998 – Posledná kontrola: 12/05/2015 23:13:56 – Revízia: 2.0

Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition

  • kbnosurvey kbarchive kbado kbdatabinding kbdatabase kbdesign kbprogramming kbhowto kbmt KB281998 KbMtsk
Pripomienky