dbvs ms access iekšējās programmēšanas valodas · web viewvienkāršas formas veidošana ar...
TRANSCRIPT
Vienkāršas formas veidošana ar MS Access iekšējo valodu Visual Basic for Application1. Datu avots (data source)
Tabula „Firmas”
1
2. Veidojamā forma F_12
3. Datu avota norādīšana
Sub Jaunas_formas_veidosana()' Pārbaude, vai ir tabula "Firmas"Dim m_lietojums As ObjectSet m_lietojums = CreateObject("Access.Application")
Dim m_datu_avots As ObjectSet m_datu_avots = Application.CurrentData
Dim m_objekts As AccessObjectSet m_objekts = m_datu_avots.AllTables("Firmas")
Debug.Print m_objekts.NameEnd Sub
Objekts: Access.Aplication - Lietojums
Objekts: CurrentData - Datu avots (patreizējā DB)
Objektu kolekcija: AllTables - Visas datu bāzes tabulas
Objekts: Table - Tabula "Firmas"
Objekta nosaukuma izvade - Name = Firmas
3
Datu avota (tabulas) norādīšana manuāli4
Programmas veidošanas logs5
4. Formas karkasa izveidošana
Dim m_forma As FormSet m_forma = CreateForm(, "Sablons_F")' "Sablons_F" ir speciāli izveidota forma, lai norādītu formas ' noformējumu (arī satāvdaļas:Header,Footer, ...)m_forma.RecordSource = "Firmas"m_forma.Caption = "F_1"DoCmd.Save , "F_1" DoCmd.OpenForm "F_1", acDesignDoCmd.MaximizeWith m_forma .RecordSelectors = False .NavigationButtons = False .ScrollBars = NeitherEnd WithDebug.Print m_forma.Caption
6
5. Datu izvades elementu un paskaidrojošā teksta elementu izveidošana (vizuālais attēlojums)
7
5. Datu izvades elementu un paskaidrojošā teksta elementu izveidošana (programma)
Dim m_x As Integerm_x = 1900Dim m_elements_1 As ControlSet m_elements_1 = CreateControl("F_1", acLabel, acDetail, _"", "Numurs", 300, 300)m_elements_1.Name = "T_1"
Dim m_elements_2 As ControlSet m_elements_2 = CreateControl("F_1", acTextBox, acDetail, _"", "F_NUM", m_x, 300)m_elements_2.Name = "L_1"
Dim m_elements_3 As ControlSet m_elements_3 = CreateControl("F_1", acLabel, acDetail, _"", "Nosaukums", 300, 700)m_elements_3.Name = "T_2"Dim m_elements_4 As ControlSet m_elements_4 = CreateControl("F_1", acTextBox, acDetail, _"", "F_NOS", m_x, 700)m_elements_4.Name = "L_2"Dim m_elements_5 As ControlSet m_elements_5 = CreateControl("F_1", acLabel, acDetail, _"", "Telefons", 300, 1100)m_elements_5.Name = "T_3"Dim m_elements_6 As ControlSet m_elements_6 = CreateControl("F_1", acTextBox, acDetail, _"", "TEL", m_x, 1100)m_elements_6.Name = "L_3"Dim m_elements_7 As ControlSet m_elements_7 = CreateControl("F_1", acLabel, acDetail, _"", "Statūta kapitāls", 300, 1500)m_elements_7.Name = "T_4"Dim m_elements_8 As ControlSet m_elements_8 = CreateControl("F_1", acTextBox, acDetail, _"", "STAT_KAP", m_x, 1500)m_elements_8.Name = "L_4"
8
Dim m_elements_9 As ControlSet m_elements_9 = CreateControl("F_1", acLabel, acDetail, _"", "Piezīmes", 300, 1900)m_elements_9.Name = "T_5"Dim m_elements_10 As ControlSet m_elements_10 = CreateControl("F_1", acTextBox, acDetail, _"", "PIEZ", m_x, 1900, 3000, 500)m_elements_10.Name = "L_6"
9
6. Vadības taustiņu "Nākošais" un "Iepriekšējais" veidošana (vizuālais attēlojums)
10
6. Vadības taustiņu "Nākošais" un "Iepriekšējais" veidošana (programma)
Dim taustins_Nakosais As ControlSet taustins_Nakosais = CreateControl("F_1", acCommandButton, _acDetail, "", "", 1500, 2500)taustins_Nakosais.Name = "Nak"With taustins_Nakosais .Caption = "Nākošais"End With
Dim taustins_Ieprieksejais As ControlSet taustins_Ieprieksejais = CreateControl("F_1", _cCommandButton, acDetail, "", "", 1500, 2900)taustins_Ieprieksejais.Name = "Iep"With taustins_Ieprieksejais .Caption = "Iepriekšējais"End With
7. Notikumu procedūru (Event procedures) veidošana formas notikumu procedūru modulī (vizuālais attēlojums)
11
12
7. Notikumu procedūru (Event procedures) veidošana formas notikumu procedūru modulī (programma)
Dim m_modulis As ModuleDim m_1 As LongSet m_modulis = m_forma.Module' Notikuma procedūras izveidošana taustiņam "Nākošais"m_1 = m_modulis.CreateEventProc("Click", taustins_Nakosais.Name)' Izpildāmā koda ierakstīšana notikumu procedūrām_modulis.InsertLines m_1 + 1, "DoCmd.GoToRecord , , acNext"ClickEventProc = True' Notikuma procedūras izveidošana taustiņam "Iepriekšējais"m_1 = m_modulis.CreateEventProc("Click", taustins_Ieprieksejais.Name)' Izpildāmā koda ierakstīšana notikumu procedūrām_modulis.InsertLines m_1 + 1, "DoCmd.GoToRecord , , acPrevious"ClickEventProc = True8. Līnijas iezīmēšana formas pamatdaļā un zemraksta daļā
13
'Līnijas iezīmēšana formas pamatdaļā (Detail)Dim m_linija_1 As ControlSet m_linija_1 = CreateControl("F_1", acLine, acDetail, _"", "", 0, 3300, 12000, 0)m_linija_1.Name = "E_1"'Līnijas iezīmēšana formas zemraksta daļāDim m_linija_2 As ControlSet m_linija_2 = CreateControl("F_1", acLine, acFooter, _"", "", 0, 50, 12000, 0)m_linija_2.Name = "E_3"
14
9. Firmu skaita noteikšana un izvade formas zemraksta daļā
Forms!F_1.Section(acHeader).Visible = FalseForms!F_1.Section(acFooter).Height = 1000Dim m_elements_11 As ControlSet m_elements_11 = CreateControl("F_1", acLabel, acFooter, _"", "Firmu skaits:", 300, 300)m_elements_11.Name = "T_8"Dim m_skaits As ControlSet m_skaits = CreateControl("F_1", acTextBox, acFooter, _"", "", 1900, 300)m_skaits.Name = "E_2"m_2 = "=Count(F_NUM)"m_skaits.ControlSource = m_2
15
10. Formas saglabāšana un atvēršana darba režīmā (skatā)
DoCmd.Close acForm, "F_1", acSaveYesDoCmd.OpenForm "F_1", acNormalEnd Sub
16
11. Apakšformas izveidošana galvenajai formai17
11.1. Apakšformas karkasa veidošana
'Apakšformas veidošanaDim a_forma As FormSet a_forma = CreateForm(, "Sablons_A")'"Sablons_A" ir speciāli izveidota forma, lai norādītu'formas noformējumu (arī satāvdaļas:Header,Footer, ...)a_forma.RecordSource = "Darbinieki"a_forma.Caption = "A_F_1"DoCmd.Save , "A_F_1"DoCmd.OpenForm "A_F_1", acDesignDoCmd.MaximizeWith a_forma .RecordSelectors = False .NavigationButtons = False .ScrollBars = Neither .DefaultView = acDatasheetEnd With
18
11.2. Apakšformas elementu izveidošana
'Apakšformas elementu izveidošanaDim m_elements_21 As ControlSet m_elements_21 = CreateControl("A_F_1", acLabel, acDetail, "", "Numurs", _300, 300)m_elements_21.Name = "T_1"Dim m_elements_22 As ControlSet m_elements_22 = CreateControl("A_F_1", acTextBox, acDetail, "", "D_NUM", _1500, 300)m_elements_22.Name = "L_1"Dim m_elements_23 As ControlSet m_elements_23 = CreateControl("A_F_1", acLabel, acDetail, "", "Uzvārds", _300, 700)m_elements_23.Name = "T_2"Dim m_elements_24 As ControlSet m_elements_24 = CreateControl("A_F_1", acTextBox, acDetail, "", "UZV", _1500, 700)m_elements_24.Name = "L_2"DoCmd.Close acForm, "A_F_1", acSaveYes
19
11.3. Apakšformas iekļaušana kā elementa galvenajā formā
'Apakšformas iekļaušana kā elementa galvenajā formāDoCmd.OpenForm "F_1", acDesignDim elem_forma As ControlSet elem_forma = CreateControl("F_1", acSubform, acDetail, "", _ "", 5000, 1000, 6000, 3000)'Apakšformas elementa avota (formas)un nosaukuma norādīšanaWith elem_forma.SourceObject = "A_F_1".Name = "A_P_1"End With'Ja saites starp tabulām norādītas Relationship logā, tad formas sasaistās automātiski. 'Citādi jāievada apakšformas (SubForm) īpašību LinkChieldFields un LinkMasterFields 'vērtības
'Līnijas iezīmēšana formas zemraksta daļāDim m_linija_2 As ControlSet m_linija_2 = CreateControl("F_1", acLine, acFooter, "", "", _0, 1000, 12000, 0)m_linija_2.Name = "E_3"
'NobeigumsDoCmd.Close acForm, "F_1", acSaveYesDoCmd.OpenForm "F_1", acNormalEnd Sub
20