SetAdoFilter Queryfunctie

Met SetAdoFilter kan uit een bestaande query of tabel rijen gefilterd worden die aan de op te geven voorwaarden voldoen. De voorwaarden worden met ADO SQL geformuleerd. ADO SQL kan gebruikt worden met de queries (tabellen) die zijn gedeclareerd met AdoQuery ook al ondersteunt de onderliggende datebron geen SQL. ADO SQL De voorwaarden worden geformuleerd in de volgorde VeldNaam, Oparator en Waarde. Twee meer voorwaaren kunnen met AND of OR oparatoren gecombineerd worden. De VeldNaam dient een bestaand veld in de query of tabel te zijn. Indien de Veldnaam één of meer spaties bevat dan dient deze tevens tussen rechte haken te worden vermeld zoals in: [Voor en Achternaam].

De volgende Operatoren zijn beschikbaar: =, <, >, <=. >=, <> of Like zijn. Bij gebruik van de Like operator kunnen tevens de jokers * of % worden gebruikt als laatste of als het eerste en het laatste teken in de op te geven tekenreekswaarde. Indien de waarde een tekensreeks is, dan dient deze tevens tussen enkele quotes geplaatst te worden zoals in 'testwaarde*'. Verder dienen de datumwaarden tussen hekjes te worden vemeld zoals in: #29-12-2022# en mogen getallen vooraf gegaan worden met een $ teken.

SqlAdoFilter(Filter)

Filter (MergedString)
Met het Filter wordt de voorwaarde beschreven waaraan de rijen moeten voldoen.

Voorbeeld: Opvragen van alle debiteuren met 'an' in de naam of uit een woonplaats met 'gein'
{
 ADOQuery "Provider=FaOleDb.FaProv;Data Source=c:\astona\demo.adm", AdoAdm;
 AdoAdm; //Activeer de query
 OpenTable(debiteuren.idx)
 SetAdoFilter(naam Like '*an*' OR woonplaats like '*gein*')
 Do
}
Naam: [Naam*]
Adres: [Adres*]
PC: [post*]
Plaats: [woon*]

{
 Od
}

Resultaat:

Naam: Antropolka GmbH
Adres: Volmarstrasse 14
PC: D-1234
Plaats: HANNOVER

Naam: Berg Anderlecht BV
Adres: Korte Kade 10
PC: 1234 GB
Plaats: AALSMEER

Naam: Para Systems B.V.
Adres: Johan Bolsstraat 10
PC: 3456 YH
Plaats: NIEUWE GEIN