Munka az objektumokkal recordset

Ez a könyv segít elsajátítani a VBA integrált fejlesztői környezet, és megtanulják, hogyan kell programozni a VBA-ban a tárgyak használata, azok tulajdonságait, módszerek és eseményeket. Vizsgálat programozási technikák olyan példák illusztrálják, amelyek segítségével azonnal kipróbálni a gyakorlatban. A megszerzett tudás lesz képes alkalmazni a kiigazítás és javítása népszerű Office alkalmazások, többek között az Office XP alkalmazások és a saját alkalmazásokat.
A könyv azoknak készült, akik mennek gyorsan és könnyedén megtanulják, hogyan kell programozni a Windows, a VBA.
Könyv: VBA kezdőknek
Munka az objektumokkal Recordset
Munka az objektumokkal Recordset
Vessünk egy közelebbi pillantást az objektumot Recordset: használja végzésekor alapműveleteket az adatokat. Object Recordset - egy tartály, amely tartja a kapott adatokat az adatforrás. Ahogy illik a tartály, az egyik Recordset objektum tartalmazhat különböző bejegyzéseket különböző időpontokban.
Miután nyilvánították változó a Recordset objektum, akkor azonnal elkezd dolgozni annak tulajdonságait. Azonban ezen a ponton ez csak „virtuális”. Ahhoz, hogy töltse ki az üres tartályt valós adatokat igénybe az alábbi technikák:
* Saját módszer Nyílt Recordset objektum;
* Execute eljárás az objektum Command;
* Execute eljárás az objektum Connection.
A legegyszerűbb módja annak, hogy hozzon létre egy Recordset objektum - a nyitott módszer az objektum. Nyílt módszer jól működik, ha használja az egyszerű utasításokat Select megszerezni az adatokat. A következő kódrészlet mutatja, amelyben a Recordset segítségével metol Nyitva:
Dim conman As New Connection
Dim rstMan Ahogy Recordset
Dim strSQL As String
(Itt a kód létrehozásához használt kapcsolat objektum conman) strSQL = „SELECT * FROM Toys” választása az egész tábla játékok
Állítsa rstMan.ActiveConnection = conman
rstMan.Open strSQL. adOpenForwardOnly, adLockReadOnly, _
Megjegyezzük, hogy a fenti kódrészletet linkek csatlakozni Recordset objektumot a ActiveConnection tulajdonság az utóbbi. Ezen túlmenően, vegye figyelembe, hogy a paramétereket, amelyek szabályozzák a viselkedést az objektum, vannak megadva paraméterként az eljárás megnyitása.
SELECT SQL nyelv utasítások nem mindig. A kliens / szerver alkalmazások, a hatásfok nagyon gyakran diktálja létrehozásának szükségességét Recordset objektumok az adott művelethez (lekérdezések). Amennyiben az eljárás megköveteli, hogy bizonyos paraméterek, ebben a helyzetben célszerű használni a Command objektum létrehozásához Recordset objektumot.
Először is, meg a Command objektum, amelyben a ActiveConnection ingatlan értéke megfelel az előírt kapcsolatot. Akkor figyelni és Recordset objektumot. Ebben az esetben először meg kell határozni a paramétereket a tárgy tulajdonságait. Akkor töltse ki a Recordset objektum rekord, a végrehajtás eredményeit az Execute eljárás a tárgy Command. Egy hasonló példa látható az alábbiakban:
Dim Contest As New Connection
Dim cmdTest As New Command
Dim rstTest Ahogy Recordset
Dim strSQL As String
(A kód, amely kapcsolatot teremt a tárgy verseny
és meghatározzuk strSQL vonal)
„Egy Objektum parancs:
Állítsa .ActiveConnection = verseny
Set rstTest = cmdTest.Execute ()
Utolsó belépés létrehozására Recordset cél, hogy az Execute eljárás a tárgy kapcsolat. Ez a megközelítés sokkal egyszerűbb, mint a tárgy Connection, továbbá lehetővé teszi, hogy működjön együtt a tárolt eljárásokat. Azonban, ha az eljárások megkövetelik specifikus beállítások, akkor meg kell, hogy tartalmazza ezeket a paramétereket a SQL utasítást. Mindez jól szemlélteti az alábbi kódot példa:
Dim átalakítani As New Connection
Dim rstVert Ahogy Recordset
Dim strSQL As String
(A kód, amely kapcsolatot teremt a tárgy átalakítani
és meghatározzuk strSQL vonal)
Állítsa rstVert - conVert.Execute ()
Ha tudja, hogy a kapcsolat csak akkor szükséges egy objektum Recordset, az előzetes kapcsolat létrehozását nem nyújt semmilyen előnyt.
Ehelyett, akkor adja meg a kapcsolat húr a második érv az eljárás
Nyílt Recordset objektum az alábbiak szerint:
Dim rstInPeace As New Recordset
Dim strSQL As String, strConnect As String strSQL = "SELECT * FROM kerékpárok" „Első összes bejegyzés 1 kód, meghatározva connection string változó strConnect rstInPeace.Open strSQL, strConnect, adOpenForwardOnly