Upload
tranhanh
View
216
Download
3
Embed Size (px)
Citation preview
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
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.
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
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)
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)
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)
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#
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")
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)
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
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
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
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
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
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
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
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
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)
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.)
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.