SELECT REP_OFFICE, MIN(QUOTA), MAX(QUOTA) FROM SALESREPS GROUP BY REP_OFFICE Yana bir so‘rov: Har bir offisda qancha xizmatchi ishlaydi?
SELECT REP_OFFICE, COUNT(*) FROM SALESREPS GROUP BY REP_OFFICE Guruhlash va HAVING yordamida ajratish. Shart bo‘yicha satrlarni ajratish uchun WHERE ifodasidan foydalangan edik. Shart bo‘yicha guruhlarni ajratish uchun HAVING operatori mavjuddir. Uning sintaksisi WHERE operatori bilan bir xil va ulardan birgalikda foydalanish mumkin. Quyidagi so‘rovni ko‘ramiz:
Buyurtmalar umumiy narxi 300$ dan ortiq xizmatchilar uchun buyurtma o‘rtacha narxi qanchaga teng?
SELECT REP, AVG(AMOUNT) FROM ORDERS GROUP BY REP HAVING SUM(AMOUNT) > 300 Ko‘rinib turibdiki, HAVING SUM(AMOUNT) > 300 ifodasi satrlarni guruhlash sharti sifatida kelmoqda.
Agar SUM(AMOUNT) > 300 sharti yolg‘on bo‘lsa, bu guruh natijaviy to‘plamdan chiqariladi. Agar rost bo‘lsa guruh natijaviy to‘plamga kiradi.
2-mavzu: Accessda makroslar Access foydalanuvchilariga ma’lumotlar bazasi bilan ishlash uchun ikkita avtomatlashgan vositasini taqdim etadi: makroslar tili va Visual Basic for application(VBA) tili. Bu vositalar murakkab operatsiyalar ketma-ketligini, tugmani yoki tugmalar kombinatsiyasini bosish yoki menyu buyrug‘ini aktivlashtirishdan iborat oddiy protsedurani ishlatishga imkon beradi.
VBA ning imkoniyatlari makroslar tiliga nisbatan beqiyosdir. Bunga qaramasdan makroslar tilidan ma’lumotlar bazasini boshqarish bo‘yicha ko‘pgina operatsiyalarni avtomatlashtirish uchun foydalanish mumkin.
Makroslarniyaratishtexnikasi Makroslar oynasi ma’lumotlar bazasi oynasidagi Макросыqo‘shimcha oynasidagi Создать(Yaratish) yoki Конструктор tugmasini bosishda ochiladi. Oyna to‘rtta ustunni o‘z ichiga oladi:
Имя макроса (Makros nomi).
Условие(Shart).
Макрокоманда (Makrokomanda).
Примечание (Izoh).
O‘rnatilgan bo‘yicha yangi makros yaratilayotganda faqatgina Makrokomanda va Izoh ustunlari aks etadi. Qolgan ustunlarni namoyishi makroslar nomi opsiyasi vositasi bo‘yicha va Вид menyusidan shart bo‘yicha o‘rnatiladi. Agar oyna bir necha makroslarni o‘z ichiga olsa, berish lozim bo‘lgan makros nomini Имя макроса ustunida ko‘rsatiladi. Makroslar nomlari ko‘rsatilayotganda qaytarishlari bo‘lmasligi kerak. Условие ustunida makrosni faqat bir qismi bajarilishi uchun shart kiritish (mantiqiy ifoda) amalga oshiriladi. Макрокоманда ustunida bajarish lozim bo‘lgan harakatlar (makrokomandalar) kerakli ketma-ketlikda sanalib chiqiladi. Dasturga sharh saqlovchi Примечание ustuni makros bajarilganda dastur tomonidan e’tiborga olinmaydi, biroq uni to‘ldirish tavsiya etiladi, chunki bunday holda makros matni tushunarliroq.
Makroslarning yaratilishi va qo‘llanilishini o‘rgangan holda, makros yordamida ma’lumotlar bazasida bir necha obóektlarni ochish Misol:ini ko‘rib chiqamiz. Aniq operatsiyalarni avtomatlash uchun mo‘ljallangan ma’lumotlar bazasi ko‘pgina jadvallar, formalar, so‘rovlar va hisobotlardan iborat bo‘ladi. Odatda shunday ma’lumotlar bazasida operator ko‘p bo‘lmagan bir xil miqdordagi obóektlar bilan ishlaydi. Har bir baza bilan ishlash seansi boshida qo‘shimcha kerakli obóektlarni ochish uchun qo‘shimcha vaqt ketadi. Bu jarayonni tezlatishga harakat qilib, kerakli hujjatlarni ochuvchi va aniq tartibda ekranga joylashtiruvchi makros yaratamiz:
Макросы qo‘shimcha sahifasiga o‘ting va Создать tugmasini bosing, buning natijasida makros Конструктор oynasi ochiladi.
Ekranda ham ma’lumotlar bazasi oynasi, ham makros oynasi aks etishi uchun Окно menyusidagi Слева направо (Chapdan o‘ngga) buyrug‘ini amalga oshiring.
Примечание ustunida xuddi o‘sha qatorga shunday matn kiriting: “Кол.часов по преподователям”formasinioching.
Shu harakatni ochilishi kerak bo‘lgan hamma obóektlar uchun qaytaring.
Makrokomanda ustunining keyingi bo‘sh yacheykasini bosing va kirish mumkin bo‘lgan makrokomandalar ro‘yxatini oching. Выполнить команду(Buyruqni bajarish) buyrug‘iga belgi qo‘ying.