თავი 3. ანგარიშგების  ფორმირება და მართვა

მოვლენა Format

მოვლენა წარმოიქმნება სისტემის მიერ დასაბეჭდი მონაცემების მონიშვნის შემდეგ დაბეჭდვის  დაწყებამდე. ეს საშუალებას იძლევა შეცვალოთ ანგარიშგების მაკეტი ან განყოფილებაში Detail არსებული მონაცემების საფუძველზე განახორციელოთ გაანგარიშებები. Format მოვლენის დროს წდომადია მიმდინარე სტრიქონის მონაცემები. ამ დროს შეიძლება მოახდინოთ სტრიქონის ფორმტიზაციის ატრიბუტების შეცვლა, გადამალოთ ან გამოაჩინოთ ეკრანზე მართვის ელემენტები.
ჯგუფის სათაურის მოვლენა Format წამოიქმნება ნებისმიერი ჯგუფისთვის. ამ დროს წვდომადია ჯგუფის სათაურის დასახელება და პირველი სტრიქონი. 
ჯგუფის შენიშვნის მოვლენა Format წამოიქმნება ნებისმიერი ჯგუფისთვის. ამ დროს წვდომადია ჯგუფის შენიშვნის დასახელება და ბოლო სტრიქონი.
ფორმატიზაციის შემდეგ გაანგარიშებების შესასრულებლად გამოიყენება მოვლენა Print. 
მოვლენის დამუშავების პროცედურას Access გადასცემს ორ პარამეტრს: FormatCount, Cancel. თვისება FormatCount მრიცხველის როლში გამოდის, რომლის მნიშვნელობა იზრდება მოვლენის დადგომით. შემდეგ განყოფილებაზე გადასვლისას ხორციელდება ამ მრიცხველის განულება.

მაგალითი: ანგარიშგებაში სტრიქონების დანომრვა
სტრიქონების დანომრვა შესაძლებელია ჯგუფების, ანგარიშგების  მიხედვით. ჯგუფების მიხედვით ნუმერაციის გასაკეთებლად:
  • ანგარიშგების განყოფილებაში Detail დააპროექტეთ დაუკავშირებელი  მართვის ელემენტი  სახელით Mricxveli;
  • ნუმერაციის საწყისი მნიშვნელობის მისაცემად Mricxveli -ის თვისებაში Control Source ჩაწერეთ =1;
  • თვისებაში Runing Sum მიუთითეთ სტრიქონი Over Group; 
სურ.3.2-ზე ნაჩვენებია ანგარიშგება Rstudenti დაპროექტების, ხოლო სურ.3.3-ზე კი – დათვალიერების რეჟიმში. სურ.3.3-ზე ჩანს, რომ სტრიქონები დანუმრულია ჯგუფების მიხედვით. თვისებაში Runing Sum სტრიქონში Over All  მითითების შემდეგ სტრიქონების ნუმერაცია გამჭოლი იქნება.


სურ. 3.2. ანგარიშგება Rstudenti დაპროექტების რეჟიმში
                                                           სურ. 3.3. ანგარიშგება Rstudenti დათვალიერების  რეჟიმში

თვისებაში Control Source ჩაწერილი მნიშვნელობა საწყის ნუმერს და ნუმერაციის ბიჯს გვიჩვენებს. ერთიანის ნაცვლად 3-ის ჩაწერით ნუმერაცია დაიწყება სამიდან და ნუმერაციის ბიჯი იქნება 3, ანუ 3, 6, 9 და ა.შ.

მაგალითი: ანგარიშგებაში სტრიქონების ფონის ცვლილება
ანგარიშგების Detail განყოფილების მოვლენის Format პროცედურაში ჩაწერეთ პროგრამა:
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
Dim i As Integer
Me. Detail.BackColor = 16777215 ‘თეთრი ფერის კოდი
i = Me.Vmricxveli Mod 2 ’ მართვის ელემენტში Vmricxveli  სტრიქონების ნუმრებია ჩაწერილი. ლუწი რიცხვის შემთხვევაში გაყოფის შედეგად მიღებული ნაშთი ნულია (Mod 2), ამიტომ ლუწი ნუმრის სტრიქონები მიიღებს ყვითელ შეფერილობას
If i = 0 Then
Me. Detail.BackColor = 65535 ’ყვითელი ფერის კოდი
End If
End Sub
შენიშვნა: ფერის კოდები აღებულია მართვის ელემენტის თვისებათა სიიდან - თვისებიდან BackColor
სურათზე 3.4. პროგრამის  შედეგია - ლუწი ნომრები შეფერილია ყვითელ ფერად

                    სურ. 3.4. სტრიქონების ფონის ცვლილება
ჯვარედინა შეკითხვით მიღებული ანგარიშგების მიღება

ცხრილის, ან შეკითხვის საფუძველზე ანგარიშგების დაპროექტება სირთულეს არ წარმოადგენს. ამ დროს წინასწარ ცნობილია დასაპროექტებელი სვეტების რაოდენობა და დასახელება. ჯვარედინა შეკითხვის დროს უცნობია სვეტების რაოდენობა და დასახელება. ჯვარედინა შეკითხვის საფუძველზე ანგარიშგების დაპროექტები-სას ბეჭდვაზე ანგარიშგების გამოტანის წინ ავტომატურად უნდა განხორციელდეს გამოსატანი სვეტებისა და მათი დასახელებების ფორმირება. ჯვარედინა შეკითხვის საფუძველზე ანგარიშგების დაპროექტება სხვადასხვა მიდგომით შეიძლება. აქ განხილული ანგარიშგების დაპროექტების საფუძველია:
   •        სვეტების მაქსიმალური რაოდენობის განსაზღვრა;
   •        ანგარიშგების სათაურის განყოფილებაში –  Report Header  სვეტების დასახელებებისთვის მართვის ელემენტის Label დატანა და მათთვის   სახელის მიკუთვნება ისეთნაირად, რომ სახელი წარმოადგენდეს სიმონაცემთა ბაზაოლოების ერთობლიობის და რიგითი ნომრის კონექტაციას, მაგ., L1, L2, L3 და ა.შ.;
   •        ანგარიშგების განყოფილებაში Detail სვეტში ჩანაწერის მნიშვნელობის გამოსატანად მართვის ელემენტის TextBox დატანა და მათთვის  სახელის მიკუთვნება ისეთნაირად, რომ სახელი წარმოადგენდეს სიმონაცემთა ბაზაოლოების ერთობლიობის და რიგითი ნომრის კონექტაციას, მაგ., Text1, text2, Text3 და ა.შ.;
   •        ანგარიშგების შენიშვნის განყოფილებაში – Report Footer ჯამების გამოსატანად  მართვის ელემენტის TextBox დატანა და მათთვის   სახელის მიკუთვნება ისეთნაირად, რომ სახელი წარმოადგენდეს სიმონაცემთა ბაზაოლოების ერთობლიობის და რიგითი ნომრის კონექტაციას, მაგ.,  V2, V3 და ა.შ. (ამ ველებში ჯამი იწერება. რადგან რიგით პირველ ველში საგნის დასახელება გამოიტანება, ამიტომ ველების ნუმერაცია დაწყებულ იქნა V2-დან);
   •        Access-ში ჯვარედინი შეკითხვის ფორმირება ცხრილის ან შეკითხვის საფუძველზე;
   •        ანგარიშგების თვისებაში Record Source თქვენს მიერ დაპროექტებული ჯვარედინა შეკითხვის სახელის ჩაწერა;
   •        პროგრამის დაწერა და მისი დაკავშირება ანგარიშგების მოვლენასთან Open.

მაგალითი: ჯვარედინი შეკითხვის საფუძველზე ანგარიშგების დაპროექტება
ანგარიშგებაში ,,გაცდენილი საათები საგნების და ჯგუფების მიხედვით” სტრიქონებში დაწერილი უნდა იყოს საგნების დასახელება, ხოლო სვეტებში კი ჯგუფების ნუმრები. ინფორმაცია საგნების დასახელებების, სტუდენტების მიერ გაცდენილი საათებისა და სტუდენტების შესახებ მოცემულია ცხრილებში/სურ.3.5/.

სურ.3.5. ცხრილების სტრუქტურა და მათ შორის არსებული კავშირები