RemoveRecordset (Recordset subroutine): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
m (1 revision)
Line 6: Line 6:
</p>
</p>


<var>RemoveRecordset</var> &ldquo;NOTs&rdquo; a <var>Recordset</var> object's records with the records
<var>RemoveRecordset</var> &amp;ldquo;NOTs&amp;rdquo; a <var>Recordset</var> object's records with the records
in an existing
in an existing
<var>Recordset</var> object: that is, it removes records from the method <var>Recordset</var> object
<var>Recordset</var> object: that is, it removes records from the method <var>Recordset</var> object
Line 13: Line 13:
<p class="syntax">%target:RemoveRecordset(recordsetObject)
<p class="syntax">%target:RemoveRecordset(recordsetObject)
</p>
</p>
===Syntax Terms===
===Syntax terms===
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>%target</th>
<tr><th>%target</th>

Revision as of 17:21, 13 April 2011

<section begin=dpl_desc/><section end=dpl_desc/>

RemoveRecordset is a member of the Recordset class.

RemoveRecordset &ldquo;NOTs&rdquo; a Recordset object's records with the records in an existing Recordset object: that is, it removes records from the method Recordset object that are in the input Recordset object.

Syntax

%target:RemoveRecordset(recordsetObject)

Syntax terms

%target A non-null Recordset object variable.
recordsetObject A non-null Recordset object, which must have the same file context as %target.

Usage Notes

  • If the Recordset object argument of RemoveRecordset is null, the request is cancelled.
  • Since RemoveRecordset never adds records to a Recordset, there are no lock strength requirements for the method object or the input object.

Examples

  • In the following example, the result of one Find is used to eliminate records from the result of another Find.

    %threaten is object recordSet in file orders %bigCust is object recordSet in file orders find records to %threaten status = 'ARREARS' end find find records to %bigCust company ='TOXICO' end find %threaten:removeRecordset(%bigCust)

  • RemoveRecordset can be thought of as a NOT operation, AddRecordset as an OR, and AndRecordset as an AND. The missing basic logical operation is an exclusive OR, which is not implemented as a basic method because it is expected to be rarely needed. However, you can achieve such an exclusive OR operation with the provided methods, as in the following example:

    %first is object recordSet in foo %second is object recordSet in foo %both is object recordSet in foo ... %both = %first:copy %both:andRecordset(%second) %first:addRecordset(%second) %first:removeRecordset(%both)

    And %first is now the exclusive OR of the original %first and %second.