📄 mdprofilter.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML dir=ltr>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=gb2312"><title>Filter 属性</title>
<style>@import url(msdn_ie4.css);</style>
</HEAD>
<BODY>
<h1><a name="mdprofilter"></a>Filter 属性</h1>
<p>
为 <a href="mdobjodbrec.htm">Recordset</a> 中的数据指定筛选条件。</p>
<p class=label>
<b>设置和返回值</b></p>
<p>
设置或返回<b>变体型值</b>,该值包含以下某项内容:
<ul type=disc>
<li>
条件字符串 — 由一个或多个用 <b>AND</b> 或 <b>OR</b> 操作符连接的子句组成的字符串。<br><br></li>
<li>
书签数组 — 指向 <b>Recordset</b> 对象中记录的唯一书签值数组。<br><br></li>
<li>
以下某个 <b>FilterGroupEnum</b> 值。<table border=1 cellpadding=5 cols=2 frame=below rules=rows>
<tr valign=top>
<td class=label width=38%><b>常数</b></td>
<td class=label width=62%><b>说明</b></td>
</tr>
<tr valign=top>
<td width=38%><b>AdFilterNone</b></td>
<td width=62%>删除当前筛选条件并恢复查看的所有记录。</td>
</tr>
<tr valign=top>
<td width=38%><b>AdFilterPendingRecords</b></td>
<td width=62%>允许只查看已更改且尚未发送到服务器的记录。只能应用于批更新模式。</td>
</tr>
<tr valign=top>
<td width=38%><b>AdFilterAffectedRecords</b></td>
<td width=62%>允许只查看上一次 <a href="mdmthrstdelete.htm">Delete</a>、<a href="mdmthadoresync.htm">Resync</a>、<a href="mdmthupdatebatch.htm">UpdateBatch</a> 或 <a href="mdmthcancelbatch.htm">CancelBatch</a> 调用所影响的记录。</td>
</tr>
<tr valign=top>
<td width=38%><b>AdFilterFetchedRecords</b></td>
<td width=62%>允许查看当前缓冲区中的记录,即上一次从数据库中检索记录的调用结果。</td>
</tr>
<tr valign=top>
<td width=38%><b>AdFilterConflictingRecords</b></td>
<td width=62%>允许查看在上一次批更新中失败的记录。</td>
</tr>
</table><br>
</li>
</ul>
<p class=label>
<b>说明</b></p>
<p>
使用 <b>Filter</b> 属性可选择性地屏蔽 <b>Recordset</b> 对象中的记录,已筛选的 <b>Recordset</b> 将成为当前游标。这将影响基于当前游标返回值的其他属性,如 <a href="mdproabpos.htm">AbsolutePosition</a>、<a href="mdproabpage.htm">AbsolutePage</a>、<a href="mdprorecordcount.htm">RecordCount</a> 和 <a href="mdpropagecount.htm">PageCount</a>,因为将 Filter 属性设置为特定值可将当前记录移动到满足新值的第一个记录。</p>
<p>
条件字符串由 <i>FieldName-Operator-Value </i>格式(如“LastName = 'Smith'”)的子句组成。可以创建用单独的 <b>AND</b>(如“LastName = 'Smith' AND FirstName = 'John'”)或 <b>OR</b>(如“LastName = 'Smith' OR LastName = 'Jones'”)子句连接而成的混合子句。对于条件字符串请遵循以下规则:
<ul type=disc>
<li>
<b>FieldName </b>必须为 <b>Recordset</b> 中的有效字段名。如果字段名包含空格,必须用方括号将字段名括起来。<br><br></li>
<li>
<b>Operator </b>必须使用的操作符为:<、>、<=、>=、<>、= 或 <b>LIKE</b>。<br><br></li>
<li>
<b>Value </b>是用于与字段值(如 'Smith'、#8/24/95#、12.345 或 $50.00)进行比较的值。字符串使用单引号而日期使用井号 (#),对于数字,可以使用小数点、货币符号和科学记数法。如果 <b>Operator </b>为<i> </i><b>LIKE</b>,<b>Value </b>则可使用通配符。只允许使用星号 (*) 和百分号 (%) 通配符,而且必须为字符串的尾字符。<b>Value </b>不可为 <b>Null</b>。<br><br></li>
<li>
<b>AND</b> 和 <b>OR </b>在级别上没有先后之分。可使用括号将子句分组。但不能象以下示例那样先将由 <b>OR</b> 联接的子句分组,然后将该组用 <b>and</b> 联接到其他子句。<pre>(LastName = 'Smith' OR LastName = 'Jones') AND FirstName = 'John'</pre>
</li>
</ul>
<pre></pre>
<ul type=disc>
<li>
与之相反,可以构造如下形式的筛选:<pre>(LastName = 'Smith' AND FirstName = 'John') OR (LastName = 'Jones' AND FirstName = 'John')</pre>
</li>
</ul>
<pre></pre>
<ul type=disc>
<li>
在 <b>LIKE</b> 子句中,可在样式的开头和结尾使用通配符(如 LastName Like '*mit*'),或者只在结尾使用通配符(如,LastName Like 'Smit*') 。</li>
</ul>
<p>
通过仅允许查看(例如)上次调用 <b>UpdateBatch</b> 方法时受到影响的记录,筛选常量使得在批更新模式时所发生的单个记录冲突更易于解决。</p>
<p>
设置 <b>Filter</b> 属性本身可能会因与基本数据发生冲突(如某记录已被其他用户删除)而失败。在此情况下,提供者将返回对 <a href="mdcolerrors.htm">Errors</a> 集合的警告但不停止程序执行。只有在所有需要的记录上发生冲突时才产生运行时错误。使用 <a href="mdprostatus.htm">Status</a> 属性可定位发生冲突的记录。</p>
<p>
将 <b>Filter </b>属性设置为零长度字符串 ("") 与使用 <b>adFilterNone </b>常量具有同样效果。</p>
<p>
一旦设置 <b>Filter </b>属性,当前记录位置将移动到 <b>Recordset</b> 中已筛选记录子集中的第一个记录。类似地,清除 <b>Filter</b> 属性后,当前记录位置将移动到 <b>Recordset </b>的第一个记录。</p>
<p>
有关可与 <b>Filter</b> 属性一起使用创建数组的书签值的解释,请参考 <a href="mdprobookmark.htm">Bookmark</a> 属性。</p>
<center> <A HREF="http://www.51windows.Net">www.51windows.Net</A></center>
<SCRIPT LANGUAGE="JavaScript" src="/log/sitelog2.asp"></SCRIPT>
<script src="script.js"></script></BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -