Access-də sorğuları seçin. Microsoft Access-də sorğuların yaradılması

Mövzu: Cədvəllərarası əlaqələrin yaradılması. Parametr və yekun sorğu ilə seçim sorğusunun yaradılması.

Əvvəlki laboratoriyada yaradılmış verilənlər bazasını açın TF-nin dekanlığı .

Cədvəllərarası əlaqələrin yaradılması

Verilənlər bazası pəncərəsində obyekt seçin Cədvəllər . düyməsinə basın " Sxem data "alətlər panelində və ya əmrini yerinə yetirin" Xidmət »  « Sxem data " komanda menyusundan istifadə edərək. Ekranda bir pəncərə görünəcək: Sxem data "və pəncərə" Əlavə masalar "(şək. 18).

düyü. 18. Data Schema Dialoq Qutusu və Əlavə Cədvəl Dialoq Qutusu

Pəncərədə " Əlavə masalar "tabda" Cədvəllər » bütün verilənlər bazası cədvəllərini sadalayır. Cədvəllər arasında əlaqələr yaratmaq üçün onları "" bölməsindən köçürməlisiniz. Əlavə masalar "pəncərədən" Sxem data " Cədvəl köçürmək üçün onu siçan ilə seçin və " düyməsinə basın. əlavə et " Lazımi cədvəlləri köçürdükdən sonra pəncərəni bağlayın " Əlavə masalar ».

Bütün cədvəlləri pəncərəyə köçürün " Sxem data " Cədvəl pəncərələrinin ölçüsünü elə dəyişdirin ki, bütün mətn görünsün (şək. 19).

Cədvəllər arasında əlaqə yaratmaq Tələbələr Reytinqlər uyğun olaraq Məlumat sxemi siçan kursorunu sahəyə aparmaq lazımdır Tələbə kodu cədvəldə Tələbələr və siçan düyməsini basaraq bu sahəni sahəyə sürükləyin Tələbə kodu cədvəldə Reytinqlər , və sonra siçan düyməsini buraxın. Pəncərə " Dəyişmək əlaqələri "(şək. 20).

Əmlakı yoxlayın" Təhlükəsizlik bütövlük data " üzərinə klikləməklə. Xüsusiyyətlərdə qeyd qutularını seçin " Kaskad yeniləmə əlaqəli sahələr "Və" Kaskad silinmə əlaqəli sahələr " Bu, yalnız cədvəldəki qeydləri redaktə etməyə imkan verəcəkdir Tələbələr , və cədvəldə Reytinqlər əlaqəli qeydlərdə bu hərəkətlər avtomatik olaraq həyata keçiriləcək.

Bağlantı yaratmaq üçün düyməni basın " Yaradın ».

düyü. 19. Verilənlər bazası məlumat sxeminin görünüşü " TF-nin dekanlığı» əlaqə qurmazdan əvvəl

düyü. 20. Cədvəl sahələri arasında əlaqə parametrlərini təyin etmək üçün dialoq qutusu

Eynilə görə Məlumat sxemi qalan cədvəllər arasında əlaqələr yaradılır (şək. 21).

düyü. 21. Verilənlər Bazasının Məlumat Sxemi " TF-nin dekanlığı»

Məlumat diaqramı pəncərəsini bağlayarkən cavab verin Bəli layoutun saxlanması ilə bağlı suala.

Verilənlər bazası cədvəlləri arasında yaradılmış əlaqələr dəyişdirilə bilər.

Əlaqələri dəyişdirmək üçün pəncərəyə zəng etmək lazımdır " Sxem data " Bundan sonra, siçan kursorunu dəyişdirilməli olan əlaqənin üzərinə qoyun və sağ klikləyin. Kontekst menyusu görünəcək (Şəkil 22):

düyü. 22. Rabitə kontekst menyusu

əmrini seçsəniz " Sil ", sonra təsdiqdən sonra əlaqə silinəcək. Bağlantını dəyişdirmək lazımdırsa, əmri seçin " Dəyişmək əlaqə " Bundan sonra, görünən pəncərədə " Dəyişmək əlaqələri " (yuxarısında) cədvəllərdə əlaqələndirmək istədiyiniz sahələri seçin və düyməni basın " Yaradın ».

İstək

Sorğular bir və ya bir neçə cədvəldən məlumatları seçmək və ya axtarmaq üçün istifadə olunur. Siz çoxsaylı cədvəllərdən verilənlərə baxmaq, təhlil etmək və dəyişdirmək üçün sorğulardan istifadə edə bilərsiniz. Onlar həmçinin formalar və hesabatlar üçün məlumat mənbəyi kimi istifadə olunur. Sorğular cəmləri hesablamağa və onları kompakt formatda göstərməyə, həmçinin qeydlər qrupları üzrə hesablamalar aparmağa imkan verir.

Sorğuları rejimdə hazırlayacağıq Dizayner .

IN Giriş Aşağıdakı sorğu növlərini yarada bilərsiniz:

    Nümunə sorğu . Bu ən çox istifadə edilən sorğu növüdür. Bu tip sorğu bir və ya bir neçə cədvəldən məlumatları qaytarır və onu cədvəl kimi göstərir. Seçilmiş sorğular həmçinin qeydləri qruplaşdırmaq və cəmləri, ortaları hesablamaq, qeydləri saymaq və digər ümumi növləri tapmaq üçün istifadə edilə bilər. Seçim şərtlərini dəyişdirmək üçün sorğunu dəyişdirməlisiniz.

    Parametrləri ilə sorğu . Bu, icra edildikdə, sahəyə daxil etmək istədiyiniz məlumatları və ya dəyəri daxil etməyi təklif edən öz dialoq qutusunu göstərən bir xəbərdarlıqdır. Bu məlumat və ya dəyər hər sorğu ediləndə dəyişə bilər.

    Çarpaz sorğu . Hesablamalar və məlumatların təhlilini asanlaşdıran bir strukturda təqdim edilməsi üçün istifadə olunur. Kesiti sorğusu cəmi, orta, dəyərlərin sayını hesablayır və ya digər statistik hesablamaları yerinə yetirir və sonra nəticələri biri sütun başlıqlarını, digəri isə sətir başlıqlarını təyin edən iki məlumat dəsti üzrə cədvəldə qruplaşdırır.

    Dəyişiklik tələbi . Bu, bir əməliyyatda birdən çox qeydi dəyişdirən və ya köçürən sorğudur. Dörd növ dəyişiklik sorğusu var:

1. Girişi silmək üçün. Bu sorğu bir və ya bir neçə cədvəldən qeydlər qrupunu silir.

2. Qeydi yeniləmək üçün. Bir və ya bir neçə cədvəldəki qeydlər qrupuna ümumi dəyişikliklər edir. Cədvəllərdəki məlumatları dəyişməyə imkan verir.

3. Qeydlər əlavə etmək üçün. Bir və ya bir neçə cədvəldən qeydlər qrupunu bir və ya bir neçə cədvəlin sonuna əlavə edir.

4. Cədvəl yaratmaq üçün. Bir və ya bir neçə cədvəldəki məlumatların hamısından və ya bir hissəsindən yeni cədvəl yaradır.

    İstək SQL . Dil təlimatlarından istifadə etməklə yaradılmışdır SQL , istifadə olunur DB .

İstərdim ki, MS Access 2003-də parametrli sorğu yarada və müəyyən forma elementlərinin qiymətlərini həmin sorğuya ötürə bilim, sonra müvafiq nəticə dəstini əldə edim və onlarla əsas hesablamalar aparım. Mən sizə sorğu parametrlərini forma elementləri ilə doldurmaq üçün necə əldə edəcəyinizi qısaca izah edəcəyəm. VBA-dan istifadə etməliyəmsə, yaxşıdır.

5 cavab

Formadakı idarəetmə vasitələrinə istinadlar birbaşa Access sorğularında istifadə edilə bilər, baxmayaraq ki, onları parametrlər kimi müəyyən etmək vacibdir (əks halda nəticələr son versiyalar Bir vaxtlar etibarlı olsaydı, giriş gözlənilməz ola bilər).

Məsələn, MyForm-da Soyad nəzarəti ilə sorğunu süzgəcdən keçirmək istəsəniz, bunu meyar kimi istifadə edərdiniz:

Soyad = Formalar!Formum!Soyad

PARAMETRELƏR [!MyForm!] Mətn (255); tblCustomers SEÇİN.* tblCustomers HARADA tblCustomers.LastName=!;

Bununla belə, soruşmaq istərdim ki, bu məqsəd üçün nə üçün saxlanan sorğuya ehtiyacınız var. Nəticələrlə nə edirsiniz? Onları formada və ya hesabatda göstərin? Əgər belədirsə, siz bunu forma/hesabat qeyd mənbəyində edə bilərsiniz və yadda saxlanan sorğunu parametrlərlə dəyişmədən tərk edə bilərsiniz ki, parametrləri doldurmaq üçün göstəriş göstərilmədən başqa kontekstlərdə istifadə olunsun.

Digər tərəfdən, əgər kodda bir şey edirsinizsə, sadəcə olaraq SQL-i yazın və WHERE bəndini yaratmaq üçün forma nəzarətinin hərfi dəyərindən istifadə edin.

Budur kod parçası. txtHospital parametrindən istifadə edərək cədvəli yeniləyir:

Set db = CurrentDb Set qdf = db.QueryDefs("AddHospital") qdf.Parameters!txtHospital = Trim(Me.HospName) qdf.ReturnsRecords = False qdf.Execute dbFailOnError intResult.Result =sAfd

Budur bir nümunə SQL:

PARAMETRELER txtHospital Text(255); tblHospitals() VALUES() DAXİL EDİN

Bu problemi həll etməyin üç ənənəvi yolu var:

  1. Parametri elə bir dəyərə qoyun ki, sorğunu yerinə yetirərkən istifadəçidən dəyər tələb olunsun.
  2. Formadakı keçid sahəsi (ehtimal ki, gizli)
  3. Tez sorğu yaradın və parametrlərdən istifadə etməyin.

Düşünürəm ki, [?ölkənin ISO kodunu daxil edin] kimi bir şey və ya formada sahələrə keçidlər daxil etməyiniz mənim üçün yanlışdır: !! .

Bu o deməkdir ki, biz eyni sorğunu birdən çox yerdə təkrar istifadə edə bilmərik, çünki müxtəlif sahələr məlumatları təmin edir və ya sorğunu yerinə yetirərkən istifadəçinin məlumat girişini çaşdırmayacağına inanmalıyıq. Xatırladığım qədər, istifadəçinin daxil etdiyi parametrlə eyni dəyəri bir dəfədən çox istifadə etmək çətin ola bilər.

Tipik olaraq mən sonuncu seçimi seçərdim, tez sorğu yaradar və lazım olduqda sorğu obyektini yeniləyərdim. Bununla belə, bu, ümumi bir SQL inyeksiya hücumudur (ya təsadüfən, ya da ki, istifadəçilərimi tanıyaraq) və sadəcə olaraq ədəbsizdir.

"Red. Başlanğıc - misalın tamamlanması üçün dim qryStartDate kimi tarix kimi dim qryEndDate tarix kimi qryStartDate = #2001-01-01# qryEndDate = #2010-01-01# "Ed. Son "SİTAT EDƏ" "ayğır": Parametrləri VBA-da sorğuya ötürmək " həqiqətən olduqca sadədir: "Əvvəlcə biz bəzi dəyişənləri təyin edəcəyik: Dim qdf Querydef kimi Dim rst Recordset kimi "sonra sorğunu açacağıq: Qdf təyin et = CurrentDB.QueryDefs(qryname) "İndi biz parametrlər seçimindən istifadə edərək sorğuya qiymətlər təyin edəcəyik: qdf.Parameters(0) = qryStartDate qdf.Parameters(1) = qryEndDate "İndi biz sorğu kodunu a çevirəcəyik. Recordset və onu işə salın Set rst = qdf.OpenRecordset "Recordset-də bəzi kodu işlədin" Bütün obyektləri bağlayın rst.Close qdf.Close Set rst = Heç bir şey təyin olunmayıb qdf = Heç nə

(Bunu özüm sınamamışam, sadəcə səyahətlərimdə topladığım bir şeydir, çünki hərdən bunu etmək istəyirdim, amma əvvəllər qeyd etdiyim çamurlardan birini istifadə edirdim)

redaktə etmək, nəhayət, bundan istifadə etmək üçün bir səbəb tapdım. Budur faktiki kod.

"... Dim qdf As DAO.QueryDef Dim prmOne As DAO.Parameter Dim prmTwo As DAO.Parameter Dim rst as recordset "... "sorğunu açın: Set qdf = db.QueryDefs("my_two_param_query") "adlı parametrlər param_one və "param_two "sorğu ilə DAP.Parameters bağlayın Set prmOne = qdf.Parameters!param_one Set prmTwo = qdf.Parameters!param_two "parametrlərin dəyərlərini təyin edin prmOne = 1 prmTwo = 2 Setqcdfr. (dbOpenDynaset , _ dbSeeChanges) "... qeyd dəstini normal hesab edin "özünüzdən sonra təmizlədiyinizə əmin olun Set rst = Heç bir şey təyin olunmur prmOne = Heç bir şey təyin olunmur prmTwo = Heç bir şey təyin olunmur qdf = Heç bir şey

DoCmd.SetParameter "frontMthOffset", -3 DoCmd.SetParameter "endMthOffset", -2 DoCmd.OpenQuery "QryShowDifference_ValuesChangedBetweenSELECTEDMonths"

Harada SQL sorğusu Access əslində SQL-ə daxildir. Misal üçün

"tarix offset olduğu mytabledan blah seçin"

Hər şey sadəcə işləyir!

Bir misal götürək. parametrləşdirilmiş sorğu belə görünür:

Tbl_Ölkə seçin.* Tbl_Ölkəsindən HARADA id_Ölkə = _ [?ölkənin ISO kodunu daxil edin]

və siz bu dəyəri ([? daxil edin... ölkə] bir) idarəetmə elementləriniz və bəzi məlumatların olduğu formadan əldə etmək istərdiniz. Yaxşı... bu mümkün ola bilər, lakin kodun bir qədər normallaşdırılmasını tələb edir.

Çözümlərdən biri id_Ölkə dəyərini saxlayacaq nəzarət üçün fid_Country kimi forma nəzarətlərinə bəzi məntiq təyin etmək olardı. Sorğunuz daha sonra sətir kimi təqdim edilə bilər:

Qr = "Tbl_Ölkəsini seçin.* Tbl_Ölkəsindən HARADA id_Ölkə = "

Bütün tələb olunan məlumatları forma daxil etdikdən sonra "sorğu" düyməsini basın. Məntiq bütün idarəetmə elementlərindən keçəcək və onların sorğuda olub-olmadığını yoxlayacaq və nəticədə parametri nəzarətin dəyəri ilə əvəz edəcək:

Dim ctl Nəzarət olaraq Me.controls-da hər ctl üçün instr(qr,"[" & ctl.name & "]") > 0 Əgər qr = dəyişdirin(qr,"[" & ctl.name & "]",ctl .dəyər) Sondur əgər Sonrakı i

Bu halda, parametrlərin real məlumatlarla əvəz olunduğu tamamilə yenilənmiş sorğunuz olacaq. fid_country növündən (sətir, GUID, tarix və s.) asılı olaraq əlavə əlavə etməli ola bilərsiniz. ikiqat sitatlar və ya son sorğunu almamaq:

Qr = "Tbl_Ölkəsini seçin.* Tbl_Ölkəsindən HARƏ id_Ölkə = ""GB"""

Bu, qeyd dəstini açmaq üçün istifadə edə biləcəyiniz tam Access-uyğun sorğudur:

Set rsQuery = currentDb.openRecordset(qr)

Düşünürəm ki, burada işiniz bitdi.

Məqsədiniz Access proqramlarını inkişaf etdirmək olduqda bu mövzu vacibdir. Siz istifadəçilərə təklif etməlisiniz standart yol onlardan məlumat tələb edin GUI təkcə sorğuları yerinə yetirmək üçün deyil, həm də davamlı formaları süzgəcdən keçirmək (eynilə Excel-in "avtofiltr" seçimi ilə etdiyi kimi) və hesabat seçimlərini idarə etmək üçün. Uğurlar!

Mövzu: Cədvəllərarası əlaqələrin yaradılması. Parametr və yekun sorğu ilə seçim sorğusunun yaradılması.

Əvvəlki laboratoriyada yaradılmış verilənlər bazasını açın TF-nin dekanlığı .

Cədvəllərarası əlaqələrin yaradılması

Verilənlər bazası pəncərəsində obyekt seçin Cədvəllər . düyməsinə basın " Sxem data "alətlər panelində və ya əmrini yerinə yetirin" Xidmət »  « Sxem data " komanda menyusundan istifadə edərək. Ekranda bir pəncərə görünəcək: Sxem data "və pəncərə" Əlavə masalar "(şək. 18).

düyü. 18. Data Schema Dialoq Qutusu və Əlavə Cədvəl Dialoq Qutusu

Pəncərədə " Əlavə masalar "tabda" Cədvəllər » bütün verilənlər bazası cədvəllərini sadalayır. Cədvəllər arasında əlaqələr yaratmaq üçün onları "" bölməsindən köçürməlisiniz. Əlavə masalar "pəncərədən" Sxem data " Cədvəl köçürmək üçün onu siçan ilə seçin və " düyməsinə basın. əlavə et " Lazımi cədvəlləri köçürdükdən sonra pəncərəni bağlayın " Əlavə masalar ».

Bütün cədvəlləri pəncərəyə köçürün " Sxem data " Cədvəl pəncərələrinin ölçüsünü elə dəyişdirin ki, bütün mətn görünsün (şək. 19).

Cədvəllər arasında əlaqə yaratmaq Tələbələr Reytinqlər uyğun olaraq Məlumat sxemi siçan kursorunu sahəyə aparmaq lazımdır Tələbə kodu cədvəldə Tələbələr və siçan düyməsini basaraq bu sahəni sahəyə sürükləyin Tələbə kodu cədvəldə Reytinqlər , və sonra siçan düyməsini buraxın. Pəncərə " Dəyişmək əlaqələri "(şək. 20).

Əmlakı yoxlayın" Təhlükəsizlik bütövlük data " üzərinə klikləməklə. Xüsusiyyətlərdə qeyd qutularını seçin " Kaskad yeniləmə əlaqəli sahələr "Və" Kaskad silinmə əlaqəli sahələr " Bu, yalnız cədvəldəki qeydləri redaktə etməyə imkan verəcəkdir Tələbələr , və cədvəldə Reytinqlər əlaqəli qeydlərdə bu hərəkətlər avtomatik olaraq həyata keçiriləcək.

Bağlantı yaratmaq üçün düyməni basın " Yaradın ».

düyü. 19. Verilənlər bazası məlumat sxeminin görünüşü " TF-nin dekanlığı» əlaqə qurmazdan əvvəl

düyü. 20. Cədvəl sahələri arasında əlaqə parametrlərini təyin etmək üçün dialoq qutusu

Eynilə görə Məlumat sxemi qalan cədvəllər arasında əlaqələr yaradılır (şək. 21).

düyü. 21. Verilənlər Bazasının Məlumat Sxemi " TF-nin dekanlığı»

Məlumat diaqramı pəncərəsini bağlayarkən cavab verin Bəli layoutun saxlanması ilə bağlı suala.

Verilənlər bazası cədvəlləri arasında yaradılmış əlaqələr dəyişdirilə bilər.

Əlaqələri dəyişdirmək üçün pəncərəyə zəng etmək lazımdır " Sxem data " Bundan sonra, siçan kursorunu dəyişdirilməli olan əlaqənin üzərinə qoyun və sağ klikləyin. Kontekst menyusu görünəcək (Şəkil 22):

düyü. 22. Rabitə kontekst menyusu

əmrini seçsəniz " Sil ", sonra təsdiqdən sonra əlaqə silinəcək. Bağlantını dəyişdirmək lazımdırsa, əmri seçin " Dəyişmək əlaqə " Bundan sonra, görünən pəncərədə " Dəyişmək əlaqələri " (yuxarısında) cədvəllərdə əlaqələndirmək istədiyiniz sahələri seçin və düyməni basın " Yaradın ».

İstək

Sorğular bir və ya bir neçə cədvəldən məlumatları seçmək və ya axtarmaq üçün istifadə olunur. Siz çoxsaylı cədvəllərdən verilənlərə baxmaq, təhlil etmək və dəyişdirmək üçün sorğulardan istifadə edə bilərsiniz. Onlar həmçinin formalar və hesabatlar üçün məlumat mənbəyi kimi istifadə olunur. Sorğular cəmləri hesablamağa və onları kompakt formatda göstərməyə, həmçinin qeydlər qrupları üzrə hesablamalar aparmağa imkan verir.

Sorğuları rejimdə hazırlayacağıq Dizayner .

IN Giriş Aşağıdakı sorğu növlərini yarada bilərsiniz:

    Nümunə sorğu . Bu ən çox istifadə edilən sorğu növüdür. Bu tip sorğu bir və ya bir neçə cədvəldən məlumatları qaytarır və onu cədvəl kimi göstərir. Seçilmiş sorğular həmçinin qeydləri qruplaşdırmaq və cəmləri, ortaları hesablamaq, qeydləri saymaq və digər ümumi növləri tapmaq üçün istifadə edilə bilər. Seçim şərtlərini dəyişdirmək üçün sorğunu dəyişdirməlisiniz.

    Parametrləri ilə sorğu . Bu, icra edildikdə, sahəyə daxil etmək istədiyiniz məlumatları və ya dəyəri daxil etməyi təklif edən öz dialoq qutusunu göstərən bir xəbərdarlıqdır. Bu məlumat və ya dəyər hər sorğu ediləndə dəyişə bilər.

    Çarpaz sorğu . Hesablamalar və məlumatların təhlilini asanlaşdıran bir strukturda təqdim edilməsi üçün istifadə olunur. Kesiti sorğusu cəmi, orta, dəyərlərin sayını hesablayır və ya digər statistik hesablamaları yerinə yetirir və sonra nəticələri biri sütun başlıqlarını, digəri isə sətir başlıqlarını təyin edən iki məlumat dəsti üzrə cədvəldə qruplaşdırır.

    Dəyişiklik tələbi . Bu, bir əməliyyatda birdən çox qeydi dəyişdirən və ya köçürən sorğudur. Dörd növ dəyişiklik sorğusu var:

1. Girişi silmək üçün. Bu sorğu bir və ya bir neçə cədvəldən qeydlər qrupunu silir.

2. Qeydi yeniləmək üçün. Bir və ya bir neçə cədvəldəki qeydlər qrupuna ümumi dəyişikliklər edir. Cədvəllərdəki məlumatları dəyişməyə imkan verir.

3. Qeydlər əlavə etmək üçün. Bir və ya bir neçə cədvəldən qeydlər qrupunu bir və ya bir neçə cədvəlin sonuna əlavə edir.

4. Cədvəl yaratmaq üçün. Bir və ya bir neçə cədvəldəki məlumatların hamısından və ya bir hissəsindən yeni cədvəl yaradır.

    İstək SQL . Dil təlimatlarından istifadə etməklə yaradılmışdır SQL , istifadə olunur DB .

Bu gün biz - kimi bir tətbiqə baxmağa başlayacağıq Microsoft Access 2003 öz verilənlər bazalarını yarada bilən ( mdb formatı), həmçinin mövcud MS əsaslı verilənlər bazaları üçün müştəri proqramları yaradın SQL Server. Bugünkü məqaləmizin mövzusu Access-dən həm sadə sorğular, həm də müxtəlif funksiyalar, baxışlar və prosedurları nəzərdə tutan yeni sorğuların yaradılması olacaq. Burada sorğu verilənlər bazası obyektlərinə aiddir.

Microsoft Access haqqında

Microsoft Accessproqram təminatıƏlaqəli DBMS olan Microsoft şirkəti. Verilənlər bazasını təşkil edərkən, bir çox digər DBMS-lərlə qarşılıqlı əlaqə qura bilən ayrıca proqram yaratarkən çox böyük imkanlara malikdir. Ən çox yayılmış müştəri-server həlli, burada müştəri Access-də yazılmış proqramdır ( VBA dili, formalar və daha çox) və server DBMS-dir Microsoft SQL Server. Bununla belə, Access digər DBMS-lərlə, məsələn, MySql və ya PostgreSQL ilə qarşılıqlı əlaqəni də dəstəkləyir. Access haqqında uzun müddət danışa bilərik, lakin bugünkü məqalənin məqsədi dəqiq sorğu yaratmaqdır ( obyektlər) Access-dən.

Təcrübəyə keçək və sadə mdb verilənlər bazası ilə başlayaq, yəni. bu sorğuları necə yaratmaq olar.

Microsoft Access 2003 - MDB verilənlər bazasında sorğuların yaradılması

Əvvəlcə verilənlər bazasını açın, sonra obyektləri vurun "İstək" və düyməni basın "Yarat".

Qeyd! Bu o deməkdir ki, artıq verilənlər bazanız var.

Qarşınızda sorğu növünü seçmək üçün yeni bir pəncərə açılacaqdır.

Bu sorğu növlərinin hər birinə daha ətraflı baxaq.

Access 2003-də sorğu növləri - MDB

Konstruktor- bu konstruktora əsaslanan sorğu yaradır, belə deyək qrafik redaktoru, lakin onda sql rejiminə keçib sorğu mətnini həmişəki kimi yaza bilərsiniz. Başladıqdan dərhal sonra sizə lazımi cədvəlləri və ya mövcud sorğuları seçmək üçün pəncərə açılacaq, çünki mövcud sorğular da lazımi məlumatları seçmək üçün istifadə edilə bilər, sanki "tamaşa".

Bunu qrafik redaktorda etməyi xoşlamırsınızsa, menyu elementinə klikləməklə SQL rejiminə keçə bilərsiniz. "Görünüş", sonra "SQL rejimi".

Sadə sorğu- bu, demək olar ki, eyni tikinti dəstidir, yalnız bir az fərqli tip və daha az imkanlar.

Çarpaz sorğu– bu, cədvəlin sözdə köçürülməsi, başqa sözlə, üfüqi sütunlarda yerləşən məlumatların çıxışıdır, yəni. Bir sütundakı hər bir dəyər ayrı bir sütunda üfüqi olaraq göstəriləcəkdir. Bütün bunlar bir sehrbazın köməyi ilə edilir, buna görə heç bir problem olmamalıdır.

Dublikat girişlər– adından göründüyü kimi, bu dublikat qeydlər üçün axtarışdır.

Tabeliyində olmayan qeydlər– bu, müəyyən bir cədvəldə çatışmayan qeydlərin axtarışıdır.

Mdb verilənlər bazası ilə kifayətdir, çünki müəssisələrdə nadir hallarda istifadə olunur, onlar adətən aşağıdakı sxemdən istifadə edirlər - ayrı bir müştəri yazırlar və bütün məlumatlar bizim vəziyyətimizdə DBMS istifadə edərək serverdə saxlanılır - bu MS SQL Server və müştəri Accessdir (.adp).

Microsoft Access 2003 - MS SQL Server verilənlər bazasında sorğuların yaradılması

MS SQL Server əsasında Access müştərisindən yeni sorğular yaratmağa baxaq ( Ehtimal olunur ki, sizin artıq adp müştəriniz və MS SQL Server əsasında verilənlər bazanız var).

Qeyd! Bu məqalə sql öyrənməyi nəzərdə tutmur, ona görə də bu məqaləni oxuyanda siz artıq sql-in əsaslarını və verilənlər bazasındakı əsas obyektlərin konsepsiyasını başa düşməlisiniz: görünüş, funksiya, prosedur. Əgər siz bu işdə tamamilə yenisinizsə, onda ilk növbədə, əlbəttə ki, SQL-i mənimsəməyiniz tövsiyə olunur, çünki aşağıdakı şərtlərin çoxu sizə aydın olmayacaq. Tövsiyə olunan məqalələr:

  • Verilənlər bazalarında VIEWS görünüşləri nədir? Və onlar niyə lazımdır?

Başlanğıc eynidir, layihəni açır, sonra obyektlərə klikləyin "İstək" və düyməni basın "Yarat".

Və indi daha ətraflı.

Access 2003-də sorğuların növləri - MS SQL Server verilənlər bazası

Daxili funksiya konstruktoru- bu, demək olar ki, adi bir görünüşdür, ona yalnız parametrlər ötürülə bilər, sonra serverdə bəzi sorğular yerinə yetirilir və cədvəl qaytarılır. Bu, məlumatları cədvəl şəklində qaytaran bir növ funksiyadır. aşağıdakı kimi ünvanlanır ( sql haqqında danışsaq):

SEÇİN * my_test_tabl_func (par1, par2 ……)

Tıkladıqdan sonra "TAMAM" Bu funksiyanı yaratmaq üçün siz mövcud cədvəllər və görünüşləri əlavə etmək üçün artıq tanış olan pəncərəni görəcəksiniz. Amma mən adətən bu pəncərəni bağlayıram və sorğunu əl ilə xüsusi sahəyə yazıram.Bu sahənin görünməsi üçün paneldə aşağıdakıları basın:

Sonra, daxil olan parametrləri əlavə etmək istəyirsinizsə, sadəcə olaraq @ işarəsini və dəyişənin adını şərtə qoya bilərsiniz, məsələn, belə:

Cədvəldən * SEÇİN kod = @par

Funksiya xüsusiyyətlərində paneldə sonra

nişanda "funksiya parametrləri" qeyd etdiyiniz parametrlər görünəcək və onlar burada göstərildiyi ardıcıllıqla ötürülməlidir.

Konstruktora baxın- bu, adi insanlar arasında adi ideyanın yaradılmasıdır "Vyuxa".

Saxlanan Prosedur Konstruktoru– konstruktordan istifadə edərək prosedur yaratmaq, prinsip yuxarıdakı funksiyalarda olduğu kimidir. Nəzərinizə çatdırım ki, prosedur topludur sql ifadələri, həm məlumatların seçilməsi, həm də dəyişdirilməsi üçün.

Saxlanılan Prosedurun Daxil Edilməsi– bu, mətn redaktorundan istifadə edərək prosedurun yaradılmasıdır, yəni. prosedurun sırf əl ilə yaradılması. Sonda konstruktordan istifadə etməklə eyni şey. Obyektlər yaratarkən mətn redaktoru Yaratma şablonu artıq giriş tərəfindən avtomatik yaradılmışdır.

Skayar funksiyanın daxil edilməsi dəyər qaytaran funksiya yaradır. Mətn redaktoru ilə yaradılmışdır.

Cədvəl funksiyasının daxil edilməsi qeydlər dəstini qaytaracaq funksiya yaradır. Daxili funksiyaya bənzəyir.

Onları giriş müştərisində fərqləndirmək üçün, bu və ya digər obyekti yaratarkən gördüyünüz fərqli nişanlar var.

Bütün bu obyektləri yaratdığınız zaman onlar serverdə saxlanılır və siz onlardan təkcə adp layihənizdən deyil, həm də digər müştərilərdən istifadə edə bilərsiniz.

Əlbəttə ki, bütün bu obyektləri serverdə, məsələn, Enterprise Manager-dan istifadə edərək yarada bilərsiniz. köhnəlmişdir, indi SQL Server İdarəetmə studiyası ), lakin bu gün biz bu obyektləri giriş müştərisindən yaratmaq imkanını nəzərdən keçiririk.

Əsaslar üçün düşünürəm ki, bu kifayətdir, bu barədə daha ətraflı danışsaq, bir məqaləyə sığmayacaq, amma mənə elə gəlir ki, bu müəyyən sorğular yaratmaq üçün kifayətdir. Ancaq müəyyən bir funksiya və ya prosedur yaratmaqla bağlı suallarınız varsa, şərhlərdə onlardan soruşun, kömək etməyə çalışacağam.

İşin məqsədi: Məlumatların seçilməsi üçün sorğuların qurulması və istifadə üsullarının öyrənilməsi.

İcradan əvvəl laboratoriya işi Aşağıdakı bölmələri öyrənməlisiniz:

Müraciət növləri;

Dizayn rejimində sorğuların yaradılması;

Məlumatların seçilməsi şərtlərinin qeyd edilməsi qaydaları;

Daxili funksiyalardan istifadə;

Hesablanmış sahələrin yaradılması;

Məlumat daxiletmə/çıxış formalarından istifadə;

Çarpaz və aktiv sorğuların yaradılması.

Tapşırıq 1: Sadə sorğu yaradın.

1. Verilənlər bazasını açın institut.

2. Sorğular obyektində verilənlər bazası pəncərəsində klikləyin.

3. Sorğular pəncərəsində Yarat düyməsini klikləyin.

4. Yeni sorğu pəncərəsində Dizayn seçin və Ok düyməsini basın.

5. Cədvəl əlavə et pəncərəsində bütün dörd cədvəli əlavə edin və pəncərəni bağlayın.

6. Məlumat diaqramında cədvəl pəncərələrinin ölçüsünü və yerini tənzimləyin.

7. Cədvəl pəncərələrindən müvafiq sahə adlarını (fakültə adı, N qrup, ixtisas adı, qiymət kitabçası N, tam adı) onların müəyyən edilmiş ardıcıllığına riayət etməklə verilənlər sxeminin altında yerləşən sorğu formasına sürükləyin. Seçimə daxil edilməli olan hər bir sahə üçün bir forma sütunundan istifadə edin.

8. GÖRÜNÜŞ/Cədvəl rejimi əmrini yerinə yetirməklə və ya View alətlər paneli düyməsini klikləməklə seçimə baxın.

9. Seçimdə səhvlər varsa, sorğu tərtibatçı rejiminə qayıdın və sorğunu düzəldin.

10. Sorğunu bağlayın. Onu saxlamaq istədiyinizi təsdiqləməyinizi xahiş edən bir dialoq qutusu görünəcək. Sorğunun adını seçin1.

Tapşırıq 2.Əvvəlki sorğu ilə eyni sahələr daxil olmaqla, lakin yalnız kommersiya tələbələri haqqında məlumatı ehtiva edən verilənlər bazasından məlumat əldə etmək üçün sadə sorğu yaradın. Belə bir sorğu deyilir şərti tələb.

1. Verilənlər bazası pəncərəsində Ctrl düyməsini sıxarkən sorğu işarəsini sürükləməklə Select1 sorğusunu kopyalayın.

2. Sorğunun adını kommersiya yolu ilə seçin olaraq dəyişdirin. Bunu etmək üçün sorğunun adını sağ klikləyin və seçin kontekst menyusu Elementin adını dəyişdirin.

3. Sorğunu dizayn görünüşündə açın. Sorğunuza Kommersiya sahəsini əlavə edin.

4. Kommersiya sahəsinin Seçim şəraiti sahəsinə Bəli dəyərini daxil edin.

5. Kommersiya sahəsinin dəyəri tələb edildikdə ekranı söndürün. Bunu etmək üçün bu sahənin ekran qutusunu söndürün.

6. Alətlər panelində Run düyməsini klikləməklə seçimi gözdən keçirin.

7. Sorğu tərtibatını saxlayaraq sorğunu bağlayın.

Tapşırıq 3. Qruplardan birində ən gənc tələbənin soyadını və qeyd nömrəsini tapmaq üçün sorğu yaradın.


1. Verilənlər bazası pəncərəsində Yarat düyməsini sıxın və Dizayn seçimini seçin.

2. Cədvəl əlavə et pəncərəsində Tələbə cədvəlini seçin. Bu cədvəlin bütün sahələrini sorğu formasına daxil edin. Bunu etmək üçün əvvəlcə Shift düyməsini istifadə edərək məlumat diaqramındakı bütün sahələri seçin və sonra onları sorğunun təsviri formasının birinci sətrinə sürükləyin.

3. Tapşırığa uyğun olaraq Doğum tarixi sahəsi üçün seçim şərti sahəsinə formula ifadəsini daxil edin. Access Expression Builder alətindən istifadə edin. Bunun üçün kursoru sorğunun təsviri cədvəlinin müvafiq xanasına qoyun və alətlər panelinin qurulması düyməsini sıxın.

4. Expression Builder pəncərəsində DMax funksiyasının adını daxil edin. Bunu etmək üçün qurucunun sol panelindəki Funksiyalar siyahısını genişləndirin və Daxili funksiyalar seçin. Sonra, orta alt pəncərədə alt çoxluqla funksiya kateqoriyasını seçin və sağ alt pəncərədə DMax() funksiyasını seçin. Müvafiq funksiya göstərilən arqumentləri ilə əsas qurucu pəncərəsində görünəcək.

5. Funksiyanın birinci arqumentini çıxarın və onun yerinə birbaşa klaviatura girişi ilə və ya sol paneldəki Cədvəllər siyahısına klikləyərək, sonra Tələbə cədvəlini və sahəsini seçməklə Doğum tarixi sahəsinin adını daxil edin. içində. Sonuncu halda, İfadə xəttinin istifadə olunmamış hissəsini çıxarmaq lazımdır. Sonra, funksiyanın aşağıdakı son formasını alması üçün qalan funksiya arqumentlərinin dəyərlərini daxil edin: DMax("[Doğum tarixi]";"Tələbə";"=851")

6. Funksiyanı sorğunun təsviri cədvəlinin xanasına yazmaq üçün Ok düyməsini sıxın. Tərkibi yadda saxlamaqla və onun adını ən gənc tələbə nümunəsi adlandırmaqla sorğunu bağlayın. Verilənlər bazası pəncərəsində onun adına iki dəfə klikləməklə sorğunun nəticəsinə baxın.

7. İşinizin nəticəsini müəllimə nümayiş etdirin.

Tapşırıq 4. Hər qrupdakı kommersiya tələbələrinin sayını hesablamaq üçün sorğu yaradın.

1. Yaradın yeni sorğu cədvəllərdən istifadə Fakültə, Qrup, Tələbə.

3. 3-cü sütun üçün seçim şərtini Bəli olaraq təyin edin.

4. Formanın 1-ci və 2-ci sütunlarını artan qaydada çeşidləmək üçün təyin edin.

5. 3-cü sütun məlumatlarının göstərilməsini söndürün.

6. 4-cü sütunda Kommersiya sahəsini daxil edin və sütun adını kommersiya nömrəsi ilə əvəz edin. Bunun üçün sahə adı olan xanada aşağıdakılar olmalıdır: Reklam sayı: Kommersiya (yeni və köhnə sütun adları iki nöqtə ilə ayrılır)

7. Qrup Əməliyyatları alətlər paneli düyməsini sıxaraq formada Qrup Əməliyyatı xəttini əlavə edin və 4-cü sütun üçün siyahıdan Count əməliyyatını seçin.

8. Run alətlər paneli düyməsini klikləməklə və ya QUERY/Run əmrini yerinə yetirməklə ümumi seçimə baxın.

9. Dashboard View düyməsini klikləməklə Sorğu Dizaynı rejiminə qayıdın.

10. Sorğunu qeyd edin, ona qruplar üzrə reklamın hesablanması adını verin.

Tapşırıq 5. Hər bir fakültə və hər qrup üçün kommersiya tələbələrinin sayını əks etdirən nümunəni görməyə imkan verən sorğu yaradın. Sütun başlıqları fakültələrin adlarına, sətir başlıqları qrup nömrələrinə uyğun olmalıdır. Nümunədə, həmçinin hər bir şöbədəki kommersiya tələbələrinin ümumi sayı ilə xülasə sütunu olmalıdır. Bu növ seçmə çarpaz sorğu ilə həyata keçirilə bilər. Belə bir sorğunun tətbiqi üçün verilənlər bazasında 3 fakültədə təhsil alan 5-6 qrup tələbə haqqında məlumatın olması arzuolunandır.

1. Dizaynerdən istifadə edərək Fakültə, Qrup, Tələbə cədvəllərindən istifadə edərək yeni sorğu yaradın.

2. Sorğu formasının 1-ci sütununda Fakültə adı sahəsini, 2-ci sütunda Qrup N sahəsini, 3-cü sütunda Kommersiya sahəsini daxil edin.

3. QUERY/Cross əmrini yerinə yetirin və ya Query Type alətlər paneli düyməsini sıxıb siyahıdan Cross seçin.

4. Çarpaz cədvəl formasının cərgəsindəki dəyərləri xanalarda siyahını genişləndirməklə seçin: 1-ci sütun üçün Sətir başlıqları, 2-ci sütun üçün – Sütun başlıqları, 3-cü sütun üçün – Dəyər.

5. 3-cü sütunda qrup əməliyyatı üçün Count funksiyasını seçin.

6. Run düyməsini klikləməklə çarpaz nümunəyə baxın.

7. Xülasə sütunu yaratmaq üçün dizayn rejiminə qayıdın və sorğu formasına başqa Kommersiya sahəsi daxil edin. Bu sahənin adından əvvəl Cəmi sütununun adını daxil edin: Qrup əməliyyatı sətrində Count seçin və Çarpaz cədvəl sətirində Satır başlıqlarını seçin.

8. Cədvəl rejimində seçim cədvəlinin sütunlarının enini azaldın. Bunun üçün qruplarda verilənləri olan sütunları seçin və FORMAT/Sütun eni/Məlumat eninə uyğun əmrini yerinə yetirin.

9. Redaktə edilmiş seçimə baxın və sorğunu qeyd edin, ona qruplar və fakültələr üzrə kommersiya sayı adını verin.

10. Kesiti nümunəsinin təxmini görünüşü Şəkil 1-də göstərilmişdir.

Şəkil 1. - Qruplar və fakültələr üzrə kommersiya tələbələrinin sayının çarpaz seçilməsi.

Tapşırıq 6. Qrupların siyahısını siyahıya almaq üçün sorğunun bir hissəsi kimi tələb olunan qrup nömrəsi ilə sorğu yazın. Belə bir sorğu deyilir parametr ilə sorğu. Parametr Qrup nömrəsidir. Parametr dəyəri dialoq qutusuna daxil edilir. Sorğu yaratmaq üçün şərti olan xanaya kvadrat mötərizədə seçim şərtinin mətnini daxil etməlisiniz.

1. Dizaynerdən istifadə edərək bir Tələbə cədvəlindən istifadə edərək yeni sorğu yaradın.

2. Sorğu formasının 1-ci sətrində cədvəlin bütün sahələrini daxil edin.

3. Sətirin xanasına mətni daxil edin N qrup sahəsi üçün seçim şərti: [Qrup nömrəsini daxil edin]

4. Sorğunu işə salın və görünən dialoq qutusuna qruplardan birinin nömrəsini daxil edin. Seçimi nəzərdən keçirin. Sorğunu yadda saxlayın və Parametrlə Sorğu adlandırın.

5. İşinizin nəticəsini müəllimə nümayiş etdirin.




Üst