Странице сајта
Prvi razred
Drugi razred
Учесници
Увод
Материјал за самостални рад док смо на паузи
SQL упити
Табеле
Форме
Упити
Извјештаји
Treći razred
Četvrti razred
Opšti predmeti
Brodomašinski tehničar
Nautički tehničar
Матура
Преквалификација
До сада смо научили како да правимо упите, како да сортирамо њихове резултате и како да приказујемо само резултате који су нам интересантни. Све ове операције само нам дају на увид већ унесене податке. Ниједна од њих нам не даје неке нове информације. Да само то упити могу да раде, неби нам били толико корисни и базе би морале да памте много више ствари.




На срећу упити могу да врше и обраду података то јесте можемо поред већ постојећих колона у упите додавати колоне чије су вриједности ИЗРАЧУНАТЕ на основу вриједности ОСТАЛИХ колона!
Операције
Прије него што наставимо морамо се упознати са операторима који се могу користити у Аксесу а то су: +, -, *, /, &, >, <, =, >=, <=, <>, ^, And, Or, Not и Like. Заграде се могу користит за груписање операција.
Већина ових оператора су нам већ познати. Прва четири +, -, *, / представљају већ нам познате аритметичке операције сабирања, одузимања, множења и дијељења.
Упознали сте се са логичким операцијама током приче о филтрирању: >, <, =, >=, <=, <>, And, Or, Not и Like. Једина новост код њих јесте да сви они осим оператора негације Not морају имати два операнда. То јесте више неможемо само да наведемо на примјер < 5 већ морамо експлицитно навести за шта се питамо јели мање од пет, нпр. 1 < 5. Нетачно у Аксесу је представљено са нулом, док било која ненулта вриједност представља да је израз тачан.
Like оператор се користи тако што се прво наведе текст за који се питамо да ли одговара изразу, затим оператор а тек онда наводимо израз.
Нови су следећи оператори & и ^. & оператор служи за конкатенацију (спајање текста), док ^ служи за степеновање бројева. Нпр. резултат операције "Марко" & " " & "Марковић" нам даје нови стринг (текст) "Марко Марковић". Резултат операције 3 ^ 2 је 9, јел је 3 на други степен (3*3) 9.
Израчунавање користећи операторе
Како се додају колоне за израчунавање демонстрираћемо на једноставном примјеру. Рецимо да нам треба списак робе са којом послујемо који ће укључивати колону која говори колики порез треба наплатити по комаду. Наравно та вриједност пореза по комаду је производ цијене по комаду и порезне стопе.
Прво што треба урадити је направити остатак упита додајући потребне табеле и колоне (у овом случају назив робе). Обавезно морамо додати табеле чије вриједности користимо при израчунавању иако можда нећемо у резултату приказати њихове колоне. У нашем примјеру морамо додати табелу типробе из базе царина ИАКО ћему у резултату приказати само име артикла и израчунат порез по комаду. Додајемо ту табелу зато што нам треба колона пореза за израчунавање.
Послије што смо додали потребне табеле и колоне, десним кликом кликнемо на једну од празних колона упита у реду Field: (1) и из менија одаберемо опцију Build . . . (2).

Кликом на Build . . . отвориће се прозор у коме можемо да дизајнирамо изразе (формуле) које користимо за израчунавање резултата ове нове колоне. Иначе изразе можемо и директно уписати у поље Field, али то је компликованије јер морамо радити у скученом простору поља и морамо напамет знати називе колона.

Прозор за прављење (дизајн) израза се састоји из пет дјелова који су означени на слици.
- Ово је главни дио прозора, и у њему ће се налазити израз којиме ћемо рачунати вриједност колоне.
- Ова дугмад служе за брз приступ (подсјетник) неких најчешће коришћених оператора. Кликом на неко од дугмати, оператор се може уметнути у поље са изразом (означено са 1).
- Листа класе разних израза функција колона и табела које можемо користити у изразу. Двокликом на било коју од опција отвориће се подопције у пољу (4). Рецимо кликом на Tables а затим на roba у (4) биће излистане све колоне ове табеле.
- У случају да смо у (3) одабрали табелу, овај мени листа њене колоне. У сличају да смо одабрали функције овај мени листаће класе функција а саме функције биће приказане у (5).
У поље са изразом функције и колоне можемо додати двокликом на њих. Тако да би смо додали колону цијена из табеле роба, прво двокликнемо на Tables у (3) а затим на табелу roba (опет у 3) и на крају двокликнемо на тражену колону cijena у (4). Оператор множења можемо унијети или ручно тастатуром или кликом на дугме * (2). Затим убацимо колону за порез из табеле типробе на исти начин како смо убацили и цијену.
Послије овога требало би да прозор изгледа отприлике овако:

Кликом на дугме ОК потврђујемо наш израз, који ће онда бити аутоматкси преписан у ред Field као: Expr1: [roba]![cijena]*[tiprobe]![porez].
Резултат оваквог упита би требао да буде:
| Naziv | Expr1 |
|---|---|
| Аутомобили | 5000 |
| Фрижидери | 15 |
| Репа | 1 |
| Пшеница | 0,5 |
| Јабуке | 0,6 |
| Телевизори | 35 |
| Нафта | 6 |
Из резултата се одмах примјећују пар проблема. Први и основни проблем је да је нова колона добила потпуно генерички назив Expr1 што није добро са основишта читљивости резултата. Такође вриједности су у € али то се из колоне не види. Оба проблема је веома једноставно ријешити.
Било коју колону можемо преименовати ткао што прије њеног назива у реду Field додамо нови назив и двотачку. Ако обратимо пажњу на наш израз којим рачунамо видимо да је Аксес аутоматски реименовао колону у Expr1 тако што је прије израза додао Expr1: . Због тога је преименовање израчунате колоне тривијално. Довољно је замјенити Expr1 са жељеним текстом, рецимо Порез по артиклу, тако да сада израз гласи: Porez po artiklu: [roba]![cijena]*[tiprobe]![porez] . Резултат таквог упита је:
| Naziv | Porez po artiklu |
|---|---|
| Аутомобили | 5000 |
| Фрижидери | 15 |
| Репа | 1 |
| Пшеница | 0,5 |
| Јабуке | 0,6 |
| Телевизори | 35 |
| Нафта | 6 |
Што се тиче додавања € на резултате, то се једноставно ради подешавањем форматирања колоне. Да и смо отворили мени за то подешавање, кликнемо десним тастером на колону(1) и онда кликнемо на Properties(2), и са десне стране ће се у Аксесу отворити дио са својствима. У опцији Formating(3) можемо одабрати Euro(4).

Резултат овог упита гласи:
| Naziv | Porez po artiklu |
|---|---|
| Аутомобили | 5.000,00 € |
| Фрижидери | 15,00 € |
| Репа | 1,00 € |
| Пшеница | 0,50 € |
| Јабуке | 0,60 € |
| Телевизори | 35,00 € |
| Нафта | 6,00 € |
Последња измена: четвртак, 28. фебруар 2013, 10:26