FindSelect Queryfunctie

Met FindSelect en FindData kan bij een SqlQuery op een vereenvoudigde wijze een search-condition worden geformuleerd en bij een AdoQuery een subquery. Met een subquery worden hier achteraf gemarkeerde (gekenmerkt als geselecteerd) rijen in een bestaande AdoQuery bedoeld. De functie resulteert in de waarde TRUE indien succesvol en anders in FALSE.

Met FindSelect worden rijen geselecteerd (subtractief) in een bestaande query. Met FindSelect en FindData kunnen kolommen van verschillende typen worden vergeleken zonder onderscheid tussen van hoofd of kleine letters en en kolomnamen worden afgekort. FindSelect en FindData zorgen bij een SqlQuery voor de vertaling naar een search-condition en bij een AdoQuery voor een overeenkomstige subquery.

FindSelect(Column BoolOperator Mask)

Column (MergedString)
In Column wordt de naam van een kolom genoemd welke dient de voldoen aan een ColumnName.

BoolOperator (Alleen de tekens: =,!,> en <)
In BoolOperator wordt een van de volgende vergelijkingsoperatoren vermeld:
=    Gelijk aan
!    Ongelijk aan
>    Groter dan
<    Kleiner dan

Mask (MergedString)
In Mask wordt een filter gedefinieerd waarbij gebruik gemaakt kan worden van de 'wildcards' * en ? indien de vergelijkingsoperator = of ! is. Er wordt geen onderscheid gemaakt tussen hoofd en kleine letters.

Voorbeeld1: met SqlQuery:
{
  //Selecteert relaties uit Rotterdam of Amsterdam met een naam waarin 'jans'
  //en een adres waarin 'kade' voorkomt
  SqlQuery "DSN=dBase IV", qmail
  qmail
  SqlFrom(MAIL)
  FindData(Woonpl* = amsterdam*)
  FindData(Woonpl* = rotterdam*)
  FindSelect(Na* = *jans*)
  FindSelect(Adres = *kade*)
  SqlExec()
  Do
}
    [na*] [ad*] [wo*]
{
  Od
}

Voorbeeld2: met AdoQuery:
{
  //Selecteert relaties uit Rotterdam of Amsterdam met een naam waarin 'jans'
  //en een adres waarin 'kade' voorkomt
  AdoQuery "Provider=MSDASQL;Data Source=dBase IV", qmail
  qmail
  SqlFrom(MAIL)
  SqlExec()
  FindData(Woonpl* = amsterdam*)
  FindData(Woonpl* = rotterdam*)
  FindSelect(Na* = *jans*)
  FindSelect(Adres = *kade*)
  Do
}
    [na*] [ad*] [wo*]
{
  Od
}