21
Visual Basic for Application (VbfA) programmu objekti un to sastāvdaļas 1 Objekti (formas, pārskati, elementi, Objektu definēšanas metodes Notikum i (events Īpašības (properti es) Metodes Vērtības Programmēšama

datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

Visual Basic for Application (VbfA) programmu objekti un to sastāvdaļas

1

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

Objektu definēšanas

metodes

Notikumi (events)

Īpašības (properties)

Metodes Vērtības

Programmēšama

Page 2: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

MS Access būtiskākie objekti un kolekcijas

                                   

Objekti un objektu mainīgie, to definēšana

2

Application

Form (arī Report)

Controls

Module

Properties (Form)

Properties (Control)

Current Project

The CurrentProject object refers to the project for the current Microsoft Access project (.adp) or Access database (.mdb).

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 3: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

1. Objekta mainīgo var izmantot tieši tāpat kā objektu, uz kuru tas attiecas.

2. Objekta īpašības vērtība var tikt izmanīta tieši, vai ar metodes palīdzību.

3. Lai izveidotu objekta mainīgo: - tiek definēts objekta mainīgais; - objekta mainīgais tiek piesaistīts objektam.

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

definēšana)

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

objektam (formai F_1)

Dim main_objekts_2 As Control

Set main_objekts_2 = Forms!F_1!Elements_1

Jauna objekta veidošana:

Dim m_application As ObjectSet m_application = CreateObject("Access.Application")

Dim m_forma As New Access.Form

Vērtību piešķiršana objekta īpašībām (properties)

3

Page 4: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

Dim m_1 As String

m_1 = “ABC” (vērtības piešķiršana parastam mainīgajam)

Forms!F_1!Elements_1.Value = “ABC” (vērtības piešķiršana formas

elementam)

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

Saliktu datu tipu definēšana:

Type Adrese Pilseta As string Iela As string Numurs As integerEnd Type

4

Page 5: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

Formu kolekcija

Forms kolekcija iekļauj visas konkrētajā datu bāzē atvērtās formas.

Norāde PiemērsForms!formas_nosaukums Forms!Forma_AForms![formas nosaukums] Forms![Forma A]Forms("formas_nosaukums")

Forms("Forma_A")

Forms(indekss) Forms(0)

Netieša atsauce: Forms!Forma_A!Lauks_A

Pilna atsauce: Forms!Forma_A.Controls!Lauks_A

Forms!Forma_A.Apakšforma_B.Form!Controls.Lauks_BForms!Forma_a.Apakšforma_B!Lauks_B

5

Forms Formas tipa objektsApplication

Page 6: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

Objekts Application

Dotajā piemērā tiek izvadīti visu formu nosaukumi.

Sub VisasFormas()Dim m_objekts As AccessObjectDim m_datu_baze As ObjectSet m_datu_baze = Application.CurrentProjectFor Each m_objekts In m_datu_baze.AllForms If m_objekts.IsLoaded = True Then Debug.Print m_objekts.Name End IfNext m_objektsEnd Sub

6

Application CurrentProject AllForms AccessObje

Page 7: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

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

7

Page 8: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

Atvērto formu pārskateSub Atverto_formu_parskate()Dim m_forma As FormDim m_elements As ControlFor Each m_forma In Forms Debug.Print m_forma.Name For Each m_elements In m_forma.Controls Debug.Print ">>>"; m_elements.Name Next m_elementsNext m_formaEnd Sub

8

Page 9: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

Elementu kolekcija (formā, pārskatā, sekcijā vai saliktā elementā)

Norāde uz aktīvās formas (no tās moduļa) elementu:

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)

9

Application Formas objekts

Pārskata objekts

Elementi (Controls)

Elementi (Controls)

Elements Control)

Elements Control)

Page 10: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

Aktīvas formas Forma_Firmas TextBox tipa elementu nosaukumu izvade un īpašību vērtību piešķiršana

Sub Elementu_TextBox_nos_izv()Dim m_forma As FormSet m_forma = Forms!Forma_FirmasDim 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

Sub Elementu_TextBox_nos_izv()Dim m_forma As FormSet m_forma = Forms!Forma_FirmasDim 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

10

Page 11: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

Īpašību kolekcija formai, pārskatam un elementam

Sub Visas_atvērtās_formas()

Dim m_forma As Form

Dim m_ipasiba As Property

For Each m_forma In Forms

Debug.Print m_forma.Name

For Each m_ipasiba In m_forma.Properties

Debug.Print m_ipasiba.Name; " = "; m_ipasiba.Value

Next m_ipasiba

Next m_forma

End Sub

11

Application objekts

Formas objekts Properties kolekcija

Pārskata objektsElementa objekts

Properties kolekcijaProperties kolekcija

Page 12: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

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

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

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

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

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

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

12

Page 13: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

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

13

Page 14: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

AllForms kolekcija

Kolekcija AllForms ietver AccessObject tipa objektus katram CurrentProject vai CodeProject objektam.

                                   

AccessObject norāde: AllForms("objekta_nosaukums") AllForms![objekta nosaukums]

AccessObject tipa objekts                                   

14

Application CurrentProject objekts

CodeProject objekts

AllForms

AllForms

AccessObject

AccessObject

Page 15: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

AccessObject objekts ir kolekciju AllForms, AllTables, AllModules, AllQueries glabātais objekts.Tā kā AccessObject objekts atbilst eksistējošam objektam, to nevar veidot kā jaunu objektu un veikt tā dzēšanu.

Sub Tabulu_parskate()Dim m_a_objekts As AccessObjectDim m_datu_baze As ObjectSet m_datu_baze = Application.CurrentDataFor Each m_a_objekts In m_datu_baze.AllTables If m_a_objekts.IsLoaded = True Then Debug.Print m_a_objekts.Name End IfNext m_a_objektsEnd Sub

Tabulas definēšana Visual Basic for Application programmāSub Tabulas_definesana() Dim m_datu_baze As DatabaseDim m_tabula As TableDef

15

Page 16: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

Dim m_kolona As FieldSet m_datu_baze = CurrentDBSet m_tabula = m_datu_baze.CreateTableDef("Ostas")Set m_kolona = m_tabula.CreateField("NOS", dbText)m_tabula.Fields.Append m_kolonam_datu_baze.TableDefs.Append m_tabulam_datu_baze.TableDefs.RefreshEnd Sub

16

Page 17: datubaze.files.wordpress.com€¦  · Web viewVisual Basic for Application (VbfA) programmu objekti un to sastāvdaļas . MS Access būtiskākie objekti un kolekcijas Objekti un

Application objekts attiecas uz aktīvo MS Access lietojumu.

Sub Atvert_formu()Dim lietojums_1 As New Access.ApplicationConst Datu_baze = "N:\Datu_baze_1.accdb”Lietojums_1.OpenCurrentDatabase Datu_bazeLietojums_1.DoCmd.OpenForm "Forma_Darbinieki"End Sub

17

Application Daudzi objekti