この例では、Clone メソッドを使って Recordset のコピーを作成し、ユーザーがそれぞれのコピーのレコード ポインタを個別に配置できるようにします。
次の例は、Active Server Pages (ASP) で使用してください。この例を完全に機能させて表示するには、IIS と共にインストールされる、C:\InetPub\ASPSamp\AdvWorks に置かれるデータ ソースの AdvWorks.mdb を使用して、AdvWorks というシステム データ ソース名 (DSN) を作成する必要があります。これは、Microsoft Access のデータベース ファイルです。検索機能を使ってファイル Adovbs.inc を検索し、使用するディレクトリに置きます。次のコードをコピーして、メモ帳または別のテキスト エディタに貼り付け、「Clone.asp」という名前で保存します。結果は、任意のクライアント ブラウザで表示できます。
例を実行するときは、RsCustomerList.Source = "Customers"
の行を RsCustomerList.Source = "Products"
に変更して、大きなテーブルのレコード数をカウントします。
<!-- #Include file="ADOVBS.INC" -->
<% Language = VBScript %>
<HTML>
<HEAD>
<TITLE>ADO Clone Method</TITLE>
</HEAD>
<BODY>
<H3>ADO Clone Method</H3>
<!--- ADO Connection Object used to Create recordset-->
<%
src = "c:\mssdk\samples\dataaccess\rds\advworks.mdb"
sConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & src
'Create and Open Connection Object
Set OBJdbConn = Server.CreateObject("ADODB.Connection")
OBJdbConn.Open sConnStr
'Create and open Recordset object
Set RsCustomerList = Server.CreateObject("ADODB.Recordset")
RsCustomerList.ActiveConnection = OBJdbConn
RsCustomerList.CursorType = adOpenKeyset
RsCustomerList.LockType = adLockOptimistic
RsCustomerList.Source = "Customers"
RsCustomerList.Open
%>
<!-- Loop through Customers Table, adding 1 to the Counter variable each pass -->
<%
Set MyRecordset = RSCustomerList.Clone
Counter = 0
Do Until MyRecordset.EOF
Counter = Counter + 1
MyRecordset.MoveNext
Loop
%>
<!-- Display Results -->
<H3>There Are <%=Counter %> Records in the Customers Table</H3>
<BR><HR>
<H4>Location of DSN Datbase</H4>
<%' Show location of DSN data source
Response.Write(OBJdbConn)
%>
</BODY>
</HTML>