RemoveRecordset (Recordset subroutine): Difference between revisions
m (1 revision) |
m (1 revision) |
(No difference)
|
Revision as of 23:59, 14 April 2011
Remove from a Recordset the records that are matched in input Recordset (Recordset class)
RemoveRecordset “NOTs” 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
recordset:RemoveRecordset( recordset2)
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
.