Topic complex |
Table functions |
Function |
findandmark() |
Short |
Marks a selection |
Syntax |
FINDANDMARK(db : INTEGER; Selektion : STRING [;Multiexpression : STRING]) : INTEGER |
Parameter |
db : table handle from OpenDB
Selection : selection as STRING
Multiexpression : String, that includes any expressions (sererated by ";") |
Return |
<0 error
>=0 number of the marked records |
See also: |
|
Description |
In the marking list of the table handle all record numbers are included that match with the selection.
Multiexpression is a string in the form "expression; expression; ...".
The single expressions are calculated for every found record. As well in the selection as in the multiexpression the field notation [table_name.]field can be used.
Example:
VAR x : REAL
FINDANDMARK(db,'income<250000','x:=MEAN(income)')
Thereby a table (with the handle db) is searched for all records where the field 'income' has an higher value than 250000. After executing the function the searched records are in the marking list and x is the avarage value of the field 'income' of these records.
The return value of the function is negative if an error has occured (in the selection or in a multiexpression). Otherwise the number of found records is returned (so NMARKS(db)).
|
FindAndMark nach einer Filter Anweisung führt zu Endlosschleife |
User: Hermann Götz / TDB Support | Date: | #4592 |
Wird vor dem FindAndMark eine setFilter Anweisung ausgeführt, so hat die Auswirkungen auf das Ergebnis der Suche.
Im WorstCase Fall führt eine setFilter Anweisung ohne Treffermenge dazu, dass sich der Prozess aufhängt.
Lösung:
Heben Sie daher sicherheitshalber die setFilter Anweisung auf oder setzen Sie mit Access den Index neu. |
Write a comment:
|