31
Datu ievades/izvades formu un pārskatu veidošana ar DBS iekšējas programmēšanas valodas palīdzību Objekti (formas, pārskati, sekcijas, Objektu definēšanas metodes Notikum i (events Īpašības (properti es) Notikumu metodes Vērtību pieškiršanas Programmēšama

Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

Embed Size (px)

Citation preview

Page 1: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

Datu ievades/izvades formu un pārskatu veidošana ar DBS iekšējas programmēšanas valodas palīdzību

Objekti(formas, pārskati, sekcijas, elementi)

Objektu definēšanas

metodes

Notikumi (events)

Īpašības (properties)

Notikumu metodes

Vērtību pieškiršanas metodes

Programmēšama

Page 2: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

2

DBVS MS Access iekšējā programmēšanas valodaVisual Basic for Applications

Datu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA) programmas kods tiek ierakstīts MS Access konteinerī – modulī. Ir sekojošu veidu moduļi:

1. Formu un to elementu notikumu moduļi. Tie ir paredzēti programmu veidošanai konkrētiem formas notikumiem (notikumu apstrādes procedūras). Modulim tiek piešķirts nosaukums Form_formas_nosaukums.

2. Pārskatu un to elementu notikumu moduļi. Tie ir paredzēti programmu veidošanai konkrēta pārskata notikumiem (notikumu apstrādes procedūras). Modulim tiek piešķirts nosaukums Report_pārskata_nosaukums.

3. Standarta moduļi vai Access moduļi. Tie ir domāti funkciju un procedūru veidošanai.

4. Klases moduļi. Tie var veidot neatkarīgus objektus ar to īpašībām un metodēm.

Page 3: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

3

DBS Access iekšējās programmēšanas valodas Visual Basic for Applications moduļu veidi

Modulis sastāv no:

1) apraksta daļas (declarations) – mainīgo un konstanšu definējumi.

Manīgie var būt lokāli (private) un globāli (public).

2) procedūru (apakšprogrammu) definējumiem;

3) funkciju definējumiem.

Forma_A

Forma_B

Pārskats_A

Pārskats_B

Formas Forma_A notikumu procedūru (Event procedures) modulis

Formas Forma_B notikumu procedūru (Event procedures) modulis

Pārskata Pārskats_A notikumu procedūru (Event procedures) modulis

Pārskata Pārskats_B notikumu procedūru (Event procedures) modulis

Standarta moduļi vai universāli

moduļi ar procedūrām un

Klases moduļi, neatkarīgu jaunu

objektu veidošanai

Page 4: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

4

Visual Basic for Applications programmas būtiskākie objekti un kolekcijas

                                    Application

Form (arī Report)

ControlsModule

Properties (Form)

Properties (Control)

Current Data

The CurrentData object refers to the objects stored in the current database by the source (server) application (Jet or SQL).

AllTables (AccessObject)

AllQueries (AccessObject)

Page 5: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

5

Kolekcijas (formas, pārskati, sekcijas elementi)

Norāde uz aktīvās formas (no tās moduļa) elementu (visas atvērtās formas.konkrētā forma.tās elementu kolekcija.konkrētais elements:

Forms!Forma_A.Controls!Elements_AMe!Elements_A          Me![Elements_A]        Me("Elements_A")           

Me.Controls!Elements_A    Me.Controls![Elements A]

Me.Controls("Elements_A")

Me(0)         Me.Controls(0)

Application

Formas objekts (Form)

Pārskats (Report)

Elementi (Controls)

Elementi (Controls)

Elements

Elements

Formas (Forms)

Pārskati (

Reports)

Page 6: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

6

Objektu mainīgo definēšana

Dim main_objekts_1 As Form (objekta (formas) tipa mainīgā

definēšana)

Set main_objekts_1 = Forms!F_1 (objekta mainīgā piesaistīšana

objektam (formai F_1)

Set main_objekts_2 = Forms!F_1!Elements_1 (elementa mainīgais)

Page 7: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

7

Visual Basic for Application parasto mainīgo tipi

Datu tipa apzīmējums VBfA

Tipa definētājsimbols

Datu tips

Byte nav BaitsInteger % Vesals skaitlisBoolen nav Loģiskais tipsLong & Garais vesalais skaitlisSingle ! Reāls skaitlisDouble # Reāls skaitlis ar

dubultprecizitātiCurrency @ Naudas daudzumsString $ TekstsDate nav DatumsVariant bez definējuma Jebkurš tips

1. Mainīgo definēšana var tikt realizēta:

a) tieši: Dim Private vai Public m_1 As Datu_tips

b) izmantojot speciālus simbolus : m_1% = 1234 (vesalo skaitļu tipa

mainīgais)

c) nenorādot tipu mainīgajam tiek piekārtots tips Variant (sliktāka

ātrdarbība).

2. Mainīgo definēšana ir obligāta, ja ieslēgts režīms:

Options – Require Variable Declaration. 3. Piemēri:

Dim Public m_1 As Single

skaits_3% = 1234

Dim Private beigu_datums As Date

beigu_datums = #1/1/2000#

Page 8: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

8

Procedūras definējums VB for Application valodā

Private vai Public Sub Procedūras_nosaukums (parametrs_1 As datu_tips, parametrs_2 As datu_tips)

Komandas On Error GoTo KļūduApstrāde Komandas KļūduApstrāde: KomandasEnd Sub

Piemērs:

Private Sub taustiņš_1_Click()On Error GoTo taustiņš_1_Click_Err DoCmd.RunMacro "M_1", , ""taustiņš_1_Click_Exit: Exit Subtaustiņš_1_Click_Err: MsgBox Error$ Resume taustiņš_1_Click_ExitEnd Sub

Piemērs procedūras izsaukumam:

Formas_atvēršdana ("Forma_1")

Page 9: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

9

Funkcijas definējumsVisual Basic for Application valodā

Private vai Public Function Funkcijas_nosaukums (parametrs_1 As datu_tips, parametrs_2 As datu_tips) As datu_tips_funkcijas_vērtībai

Komandas Funkcijas_nosaukums = atgriežamā_vērtība Exit FunctionEnd Function

Piemērs funkcijas izsaukumam:

Mainīgā_nosaukums = Funkcijas_nosaukums(faktiskie_parametri)

Page 10: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

10

Vērtību piešķiršana 1. Vērtības piešķiršana parastam mainīgajam:

Dim m_1 As String

m_1 = “ABC”

2. Vērtības piešķiršana formas elementa īpašībai:

Forms!F_1!Elements_1.Value = “ABC”

3. Vērtību piešķiršana formas elementa vairākām īpašībām:

Private Sub Proced_1 Dim main_objekts_1 As Form Set main_objekts_1 = Forms!F_1 With main_objekts_1 (vērtību piešķiršana objekta īpašībām) .Record Selectors = NO .NavigationButtons = NO End WithEnd Sub

Page 11: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

11

Jaunas formas izveidošana un dažu formas īpašību norādīšana

Sub Jauna_forma()Dim m_forma As FormSet m_forma = CreateFormWith m_forma    .RecordSource = "Firmas"     .Caption = "Forma_F"     .ScrollBars = 0     .NavigationButtons = TrueEnd With    DoCmd.RestoreEnd Sub

Page 12: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

12

Aktīvas formas Forma_A TextBox tipa elementu nosaukumu izvade

Sub Elementu_TextBox_nos_izv()Dim m_forma As FormSet m_forma = Forms!Forma_ADim m_elements As ControlFor Each m_elements In m_forma.Controls If m_elements.ControlType = acTextBox Then Debug.Print m_elements.Name End IfNext m_elementsEnd Sub

Page 13: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

13

Aktīvas formas Forma_A TextBox tipa elementu īpašību vērtību piešķiršana

Sub Elementu_TextBox_nos_izv()Dim m_forma As FormSet m_forma = Forms!Forma_ADim m_elements As ControlFor Each m_elements In m_forma.Controls If m_elements.ControlType = acTextBox Then            With m_elements                .SetFocus                .Enabled = True                .Height = 400                .SpecialEffect = 0            End With End IfNext m_elementsEnd Sub

Page 14: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

14

Form, Report un Control objektu īpašību vērtību norāde valodā Visual Basic for Application

1. Formas īpašības vērtības norāde:

Forms!Forma_A.Visible = TrueMe!RecordSource = "SELECT * FROM Darbinieki " _ & "WHERE Uzvards Like 'A*' "

2. Elementa īpašības vērtības norāde:

Me!Elements_A.Visible = TrueForms!Forma_A.Controls!Elements_A.Visible = TrueWith Me!Elements_A .Visible = FalseEnd With

3. Formas un pārskata sekcijas īpašības norāde:

Forms!Forma_A.Section(3).Visible = FalseMe!Section(acPageHeader).Visible = False

Page 15: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

15

Formas un pārskata (report) sekcijas

Skaitlisks apzīmējums

Simbolveida apzīmējums

Sekcija

0 acDetail Detail sekcija1 acHeader Virsraksta sekcija2 acFooter Zemraksta sekcija3 acPageHeader Lapas virsraksta sekcija4 acPageFooter Lapas zemraksta sekcija5 acGroupLevel1Heade

rPārskata 1. līmeņa grupējuma virsraksta sekcija

6 acGroupLevel1Footer Pārskata 1. līmeņa grupējuma zemraksta sekcija

7 acGroupLevel2Header

Pārskata 2. līmeņa grupējuma virsraksta sekcija

8 acGroupLevel2Footer Pārskata 2. līmeņa grupējuma zemraksta sekcija

Sekcijas īpašības norādīšana:

Forms!Forma_A.Section(acDetail).VisibleForms! Forma_A.Section(0).VisibleForms! Forma_A.Section(acPageHeader).VisibleForms! Forma_A.Section(3).Visible

Sekcijas numura elementam noteikšana (kurā sekcijā atrodas elements):

Dim m_sekcijas_numurs As Integerm_sekcijas_numurs = Forms!Forma_A!Elements_A.Section

Page 16: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

16

Visual Basic for Application masīvu definēšana

1. Masīvu (piemēram: mas_1) definēšana:

Dim mas_1 (20) As String (21 elementa (0, 1, 2, ...) masīva

definējums)

Dim mas_1 (1 To 20) As String (20 elementu (1, 2, 3, ...) masīva

definējums)

Dim mas_1 (5,5,5) As Long (trīsdimensiju masīva definējums)

2. Dināmisko masīvu (piemēram mas_2) definēšana:

Dim mas_2() As Long (masīva definēšana, nenorādot

elementu skaitu)

ReDim Preserve mas_2 (5, 5, 5) (masīva pārdefinēšana, elementu

vērtības saglabājas)

ReDim mas_2(5, 5, 5) (masīva pārdefinēšana, elementu

vērtības nesaglabājas)

mas_2(1, 2, 3) = 1234

3. Konstanšu (piemēram, k_1) definēšana:

a) Public Const k_1 = 4.5

b) Sistēmas konstantes: True, False, Yes, No, On, Off, Null

c) Access iekšējās konstantes:

Piemēram, formas sekcijas daļas – acDetail, acHeader, acFooter,

acPageHeader, acPageFooter

Page 17: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

17

VBA valodas darbību loģiskās vadības struktūras

On Error GOTO Iezīme_1...Iezīme_1:...

IIF(noteikums; Vērtība_1; Vērtība_2) (Vērtība_1, ja noteikums = patiess.)

If noteikums Then darbības (ja izpildās noteikums) Else darbības (ja neizpildās noteikums)End If

If noteikums Then darbības (ja noteikums patiess) ElseIf noteikums-n Then darbības (ja noteikums-n patiess) Else darbības (ja noteikums patiess)End If

Select Case Mainīgais Case Izteiksme_1, Izteiksme_2 darbības (ja Mainīgais = Izteiksme_1 vai Izteiksme_2) Case Izteiksme_3 To Izteiksme_4 darbības (ja Mainīgais ir norādītajā intervālā) Case Is Izteiksme_5 (ja noteikumi ar <, >, >=, ...) darbības (ja Mainīgais atbilst Izteiksme_5) Case Else darbības (ja citi varianti)End Select

Page 18: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

18

VBA valodas darbību loģiskās vadības struktūras (turpinājums)

For Each elements In grupa (lieto objektiem (elementi) un kolekcijām (grupas)) darbības Exit For darbībasNext elements

For Skaitītājs = Sākuma_vērtība To Beigu_vērtība Step Soļa_vērtība darbības If noteikums_1 Exit For (izeja no cikla) End If darbībasNext Skaitītājs

Do While noteikums darbības (ja noteikums patiess) If noteikums_1 Exit Do (izeja no cikla) End If darbības (ja noteikums patiess)Loop

Do darbības If noteikums_1 Exit Do (izeja no cikla) End If darbības Loop While noteikums (pārbaude uz noteikuma patiesumu)

Page 19: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

19

VBA valodas darbību loģiskās vadības struktūras (turpinājums)

Do Untill noteikums darbības (ja noteikums nav patiess) If noteikums_1 Exit Do (izeja no cikla) End If darbības (ja noteikums nav patiess)Loop

Do darbības (ja noteikums nav patiess) If noteikums_1 Exit Do (izeja no cikla) End If darbības (ja noteikums nav patiess)Loop Untill noteikums (kamēr notikums nav patiess)

Kļūdu apstrāde:On Error GoTo Iezīme_1On Error Resume Next (Kļūdu ignorēšana.) On Error GoTo 0 (Kļūdu apstrādes atcelšana.)

Page 20: Datu ievades/izvades formu un pārskatu veidošana ar DBS ... Web viewDatu bāzes vadības sistēmas MS Access iekšējā programmēšanas valodā Visual Basic for Application (VBA)

20

MS Visual Basic programmēšanas valodas redaktora logs

1. Programmas ievades, pārskates un izmaiņas logs.

2. Projekta objektulogs (Project Explorer). Projektu un tanīs ietilpstošo vienību hierarhisks saraksts.

3. Īpašību logs (Properties Window). Projekta objektu projektēšanas laika īpašības un norādes.

4. Objektu pārskates logs (Object Browser). Objektu īpašību un metožu pārskate un izvēle.

5. Rezultātu un darbību izpildes attēlojuma logs (Immediate). Programmas noskaņošanas informācijas izvade.