適用先: Access 2013 | Access 2016
The following example shows how to set the necessary parameters of RDS.DataControl at run time.
Refresh メソッドを使用して Recordset を取得する方法は、ExecuteOptions プロパティと FetchOptions プロパティの設定によって決まります。
To test this example, cut and paste the following code into a normal ASP document and name it RefreshVBS.asp. Use Find to locate the file Adovbs.inc and place it in the directory you plan to use. ASP script will identify your server.
<!-- BeginRefreshVBS --><%@ Language=VBScript %>
<!--use the following META tag instead of adovbs.inc--><!--METADATA TYPE="typelib" uuid="00000205-0000-0010-8000-00AA006D2EA4" -->
<html><head>
<meta name="VI60_DefaultClientScript" content=VBScript><meta name="GENERATOR" content="Microsoft Visual Studio 6.0">
<title>Refresh Method Example (VBScript)</title><style>
<!--body {
font-family: 'Verdana','Arial','Helvetica',sans-serif;BACKGROUND-COLOR:white;
COLOR:black;}
.thead {background-color: #008080;
font-family: 'Verdana','Arial','Helvetica',sans-serif;font-size: x-small;
color: white;}
.thead2 {background-color: #800000;
font-family: 'Verdana','Arial','Helvetica',sans-serif;font-size: x-small;
color: white;}
.tbody {text-align: center;
background-color: #f7efde;font-family: 'Verdana','Arial','Helvetica',sans-serif;
font-size: x-small;}
--></style>
</head>
<body><h1>Refresh Method Example (VBScript)</h1>
<H2>RDS API Code Examples </H2><HR>
<TABLE DATASRC=#RDC><TR>
<TD> <INPUT DATAFLD="FirstName" SIZE=15> </TD><TD> <INPUT DATAFLD="LastName" SIZE=15> </TD>
<TD> <INPUT DATAFLD="Title" SIZE=15> </TD><TD> <INPUT DATAFLD="HireDate" SIZE=15> </TD>
</TR></TABLE>
<!-- RDS.DataControl with no parameters set at design time --><OBJECT classid="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33"
ID=RDC HEIGHT=1 WIDTH=1></OBJECT>
<HR>Server: <Input Size=70 Name="txtServer" Value="https://<%=Request.ServerVariables("SERVER_NAME")%>"><BR>
Connect: <Input Size=70 Name="txtConnect" Value="Provider='sqloledb';Integrated Security='SSPI';Initial Catalog='Northwind'"><BR>SQL: <Input Size=70 Name="txtSQL" Value="Select * from Employees">
<HR><TABLE BORDER=1 WIDTH="60%">
<TR><TD COLSPAN=3 BGCOLOR=silver>
Choose if you want the Recordset brought back Synchronously on thecurrent calling thread or Asynchronously on another thread.
</TD></TR>
<TR><TD>Synchronously: <BR>
<Input Type="Radio" Name="optExecuteOptions" Checked OnClick="SetExO('adcExecSync')"></TD>
<TD>Asynchronously: <BR><Input Type="Radio" Name="optExecuteOptions" OnClick="SetExO('adcExecAsync')">
</TD><TD> </TD>
</TR><TR>
<TD COLSPAN=3 BGCOLOR=silver>Fetch Up Front, Background Fetch with Blocking or Background Fetch
without Blocking</TD>
<TR><TD>Up Front:<BR>
<Input Type="Radio" Name="optFetchOptions" OnClick="SetFO('adcFetchUpFront')"></TD>
<TD>Background w/ Blocking:<BR><Input Type="Radio" Name="optFetchOptions" Checked OnClick="SetFO('adcFetchBackground')">
</TD><TD>Background w/o Blocking:<BR>
<Input Type="Radio" Name="optFetchOptions" OnClick="SetFO('adcFetchAsync')"></TD>
</TR></TABLE>
<INPUT TYPE=BUTTON NAME="Run" VALUE="Run"><BR>
<Script Language="VBScript"><!--
Dim EO 'ExecuteOptionsDim FO 'FetchOptions
EO = "adcExecSync" 'Default valueFO = "adcFetchBackground" 'Default value
Sub SetExO(NewEO)EO = NewEO
End Sub
Sub SetFO(NewFO)FO = NewFO
End Sub
' Set parameters of RDS.DataControl at Run TimeSub Run_OnClick
RDC.Server = txtServer.ValueRDC.SQL = txtSQL.Value
RDC.Connect = txtConnect.ValueIf EO = "adcExecSync" Then 'Determine which ExecuteOption chosen
RDC.ExecuteOptions = adcExecSyncMsgBox "Recordset brought in on current calling thread Synchronously"
ElseRDC.ExecuteOptions = adcExecAsync
MsgBox "Recordset brought in on another thread Asynchronously"End If
If FO = "adcFetchBackground" Then 'Determine 'which FetchOption chosenRDC.FetchOptions = adcFetchBackground
MsgBox "Control goes back to user after first batch of records returned"ElseIf FO = " adcFetchUpFront" Then
RDC.FetchOptions = adcFetchUpFrontMsgBox "All records returned before control goes back to user"
ElseRDC.FetchOptions = adcFetchAsync
MsgBox "Control goes back to user immediately"End If
RDC.RefreshEnd Sub
--></Script>
</body></html>
<!-- EndRefreshVBS -->
関連項目
- 開発者フォーラムにアクセスする
- support.office.com のヘルプにアクセスする
- answers.microsoft.com のヘルプにアクセスする
- UtterAccess のフォーラムにアクセスする
- 開発者と VBA のプログラミング ヘルプ センター (FMS) にアクセスする
- StackOverflow のアクセス ポスト
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。