Као што смо већ то рекли у тексту о једноставним упитима када смо објашњавали функције интерфејса за прављење упита, ред Criteria и сви редови испод њега служе за постављање услова које подаци треба да испуњавају како би се нашли у резултату.
Када постављамо неки услов, пишемо га у колону на коју се он односи. Тако да уколико имамо задатак да направимо упит који ће приказати цијене и називе свих производа чији је код врсте артикла/типа 6 онда ћемо 6 уписати у колону ID_tipa у реду Criteria као то се види на слици:

о
чиме добијамо резултат
к

Критеријуми нису ограничени на захтјевање ЈЕДНАКОСТИ (као у претходном примјеру гдје смо захтјевали да ли је вриједност колоне ID_tipa једнака броју 6), већ подржава и друге услове. Неки од њих дати су у следећој табели.

УсловОзнака у АксесуПримјер
Веће од>>7
Мање од<<15.5
Мање једнако<=<=12
Веће једнако>=>=13
Није једнако<><>"јабука"

Треба истаћи да се УВЈЕК мора прво написати операција поређења ( >,<,>= итд.) а затим вриједност са којом се пореди. Такође операције морају бити написане баш као што су написане овјде. Аксес познаје >= али не познаје >*размак*= нити =>.
Поред тога једина можда нова ствар из ове табеле је да уколико поредимо нешто са неком текстуалном вриједносшћу увјек то са чиме поредимо морамо ставити под наводницима (слично сте радили у Екселу прошле године за оне који се тога сјећају).

Уколико наведемо више услова у различитим колонама (не више у једној) онда ће резултат морати да испуни све услове, то јесте користиће логичку И функцију.

Упит

резултат

Претходни упит од резултата захтјева да производи буду јефтинији од 100 И да им је примарни кључ типа већи или једнак од 6.

Са друге стране поставља се питање како да направимо упит који има два услова повезана са ИЛИ на једну колону. Рецимо да желимо добити све производе чији је ПК типа 5 ИЛИ 6 (пажљиво читатје задатке, некад у нашем језику овакве услове пишемо са И, нпр. "чији су ПК-ови типа 5 и 6", иако мислимо ИЛИ). За овакве услове користимо оне редове испод Criteria. Наиме сви ти редови су такође ту за постављање услова и унутар једне колоне повезани су са ИЛИ. Тако да рјешење задатка је:

упит
резултат

Значи рекапитулација. Услови УНУТАР једног реда повезани су са логичком функцијом И, док си сви редови онда повезани са логичком функцијом ИЛИ. Прво се извршава логичка функција И над свим условима реда а затим се извршава ИЛИ. Овоме свједочи и следећи упит и његов резултат:

упит
резултат

Као што се из резултата види овај упит листа сву робу чији је ПК типа или мањи или већи од 6, а ако је већи онда он даље од ње захтјева да јој је цијена мања од 300. Тј. ((cijena < 300) И (ID_tipa > 6)) ИЛИ (ID_tipa < 6).

Иако Аксес сам додаје логичке функције да би повезао услове у један услов, ми такође можемо њих додавати у наше услове ручно преко командних ријечи.

Ми ћемо користити 3 такве ријечи:

ОзнакаЗначењеПримјерОбјашњење примјера
ANDИ>=#1.6.2010# And <#1.7.2010#Датум мора бити у јуну
ORИЛИ<4 Or >8Вриједност мора бити или мања од 4 или већа од 8
Like*СличноLike "*ић"Текстуална вриједност мора се завршавати на ић

Пар напомена. 
Као што се види из примјера из табеле, датуми као и текст имају свој начин означавања када их користимо у условима. Сваки датум у услову мора бити облика дан.мјесец.година, гдје су дан мјесец и година озражени бројевима и читав датом мора бити ограничен са тарабама (#).
Ми можемо груписати услове заградама како би смо обезбједили правилан редослијед извршавања, само треба пазити да се све отворене заграде затворе.

Од свих горе наведених команди, Like је једина команда која по мени захтјева веће објашњење. Like једноставно служи за постављање услова тексту пошто нема смисла поредити текст са веће и мање (додуше има смисла са једнако и није једнако). Like поставља услове преко звјездице (*) која значи да на том мјесту гдје је она може се наћи ниједан или више слова и знакова. Претходни примјер (у табели) је у ствари постављао за услов да текст у тој колони мора садржати ић и да остатак текста може само доћи прије ић.

Следећих пар примјера са резултатима ће расчистити недоумице:

упит и резултат(у оквиру)

упит и резултат(у оквиру)

упит и резултат(у оквиру)

упит и резултат(у оквиру)

упит и резултат(у оквиру)
Последња измена: среда, 6. фебруар 2013, 13:36