Si të krijoni formularin tuaj të ndarjes në Access duke përdorur VBA

Format e ndarjes në Access janë jashtëzakonisht të dobishme. Fatkeqësisht, ato nuk funksionojnë kur i vendosni brenda një formulari navigimi. Mësoni se si mund të krijoni një funksion VBA që do të simulojë funksionalitetet e formularit të ndarë të Access dhe do ta bëjë atë të funksionojë edhe brenda një formulari navigimi.

Forma e ndarë ju lejon të keni dy pamje të të dhënave tuaja në të njëjtën kohë - pamjen e formularit dhe pamjen e fletës së të dhënave. Kjo ju lejon të keni një pasqyrë të të gjitha të dhënave tuaja, ndërsa në të njëjtën kohë ju jep një mundësi për t'i parë dhe modifikuar ato një nga një.

Fatkeqësisht, formularët e ndarë nuk do të funksionojnë kur i vendosni brenda një formulari navigimi - diçka që më shqetëson. Është mirë që ka një zgjidhje për këtë. Duke përdorur VBA, mund të krijoni funksionin tuaj që do të simulojë formën e ndarjes së Access. Thjesht ndiqni hapat e mëposhtëm.

Shkarkojeni Tani

Nëse doni të filloni ta përdorni këtë funksion sa më shpejt të jetë e mundur, atëherë mund të:

Shkarkoni bazën e të dhënave të mostrës me kodet VBA Tani

Përndryshe, nëse dëshironi të bëni DIY, mund të lexoni përmbajtjen më poshtë.

Hapat për të krijuar formularin tuaj të ndarjes në Access duke përdorur VBA

1. Hapni formularin tuaj të ndarjes dhe përditësoni pamjen e paracaktuar në Formularin e vetëm. Hapni formularin tuaj të ndarjes dhe përditësoni pamjen e parazgjedhur në formularin e vetëm

  1. Hapni formularin tuaj të ndarjes.
  2. Ndërsa jeni në pamjen e dizajnit, zgjidhni formularin.
  3. Shkoni te Fleta e Vetive (ALT + Enter) > skeda Forma.
  4. Ndrysho pamjen e paracaktuar në: Formular i vetëm.
  5. Mbyllni formularin dhe ruajeni.

2. Krijoni një kopje të formularit. Kjo do të shërbejë si pamje e fletës së të dhënave.

  1. Shkoni te paneli i navigimit.
  2. Klikoni me të djathtën në formularin tuaj dhe zgjidhni Kopjo.
  3. Klikoni me të djathtën në një zonë të zbrazët në panelin e navigimit dhe zgjidhni Paste.
  4. Ndryshoni emrin e formularit. Shtojini me “_Datasheet”.

Shembull:

  • Forma: Anëtarët
  • Kopja e formularit: Anëtarët_Fleta e të Dhënave

3. Hapni formularin e të dhënave dhe përditësoni vetitë e pamjes së formularit.

  1. Hapni formularin e të dhënave.
  2. Ndërsa jeni në pamjen e dizajnit, zgjidhni formularin.
  3. Shkoni te skeda "Fleta e vetive" > "Forma".
  4. Përditësoni vetitë e mëposhtme:
    • Pamja e parazgjedhur: Datasheet
    • Lejo pamjen e fletës së të dhënave: Po
    • Lejo pamjen e formularit: jo
  5. Mbyllni formularin dhe ruajeni.

4. Rihapni Formularin Kryesor dhe shtoni formularin e të dhënave si nënformë.

  1. Hapni formën kryesore (ajo që është kopjuar) në pamjen e dizajnit.
  2. Shto një nënformë.
    • Shkoni te menyja Dizajn. Zgjidhni Nënformën/Nënport.Zgjidhni Nënformën
    • Klikoni në zonën Detail të formularit.
    • Do të shfaqet magjistari i nënformës.Magjistari i Nënformës

1. Klikoni mbi 'Përdor një formular ekzistues'.

2.Zgjidhni formularin tuaj të të dhënave.

3. Klikoni Next.Zgjidhni "Përcaktoni timen"

4.Zgjidhni "Përcaktoni timin".

5. Klikoni Finish.

3. Formulari i fletës së të dhënave është tani një nënformë e formularit tuaj kryesor. Rregullojeni atë në madhësinë dhe pozicionin tuaj të dëshiruar.

5. Së fundi, shtoni kodin.

  1. Hapni redaktuesin VBA (ALT + F11).
  2. Zgjidhni formën kryesore dhe ngjitni kodin që vijon.Zgjidhni formën kryesore dhe ngjitni kodin
'MAIN FORM
Option Explicit

Private Sub Form_AfterUpdate()
   Me.Members_Datasheet.Requery
End Sub

Private Sub Form_Current()
   If Me.NewRecord Then
     Me.Members_Datasheet.Form.Recordset.AddNew
   Else
     Me.Members_Datasheet.Requery
   End If
End Sub
  1. Pas kopjimit të kodit, zëvendësoni të gjitha rastet e fjalës Anëtarët_Fleta e të Dhënave me emrin aktual të formularit tuaj të të dhënave.
  2. Kur të keni mbaruar, zgjidhni Formularin tuaj të të dhënave nga menyja e Projektit dhe kopjoni kodin më poshtë.
'SUBFORM/DATASHEET FORM
Option Explicit

Private Sub Form_AfterUpdate()
   Me.Parent.Form.Requery
End Sub

Private Sub Form_Current()

  Dim pk_field As String, pk_tbox As Control
  Dim primaryKey As String, strSearch As String
 
  Set pk_tbox = Me.Member_ID 'textbox containing primary key *
  pk_field = "Member_ID" 'primary key field name *

  primaryKey = Nz(pk_tbox.Value, 0) 'change value to 0 if null
  pk_field = "[" & pk_field & "]" 'enclose field name with brackets
 
  If primaryKey <> 0 Then 'if not null (or not a new record)
    strSearch = pk_field & "=" & primaryKey
    Me.Parent.Recordset.FindFirst strSearch
  Else
     Me.Parent.Form.Recordset.AddNew
  End If

End Sub
  1. Përditësoni vlerat për variablat e mëposhtëm:
  • pk_tbox – i referohet kutisë së tekstit që përmban çelësin primar.
  • pk_fushë – i referohet fushës së çelësit kryesor të burimit të regjistrimit.

Secili prej tyre ka një yll (*) në ​​seksionin e komenteve, në mënyrë që t'i gjeni lehtësisht.

  1. Kur të keni mbaruar, ruani ndryshimet (CTRL + S) dhe mbyllni Redaktorin VBA.

Tani, mund të shtoni formën tuaj të ndarjes brenda formularit të lundrimit. Provoje!

Rregullo bazën e të dhënave të aksesit të dëmtuar (.accdb)

Mund të ketë shumë arsye pse një bazë të dhënash e Access-it korruptohet. Mjerisht, ne nuk kemi kontroll mbi shumicën e tyre. Nëse ju ndodh edhe juve, mos harroni se ka ende një mënyrë për ta rikuperuar atë. DataNumen Inc ka krijuar një softuer që performon riparim accdb. Kontrolloje.

Hyrje e autorit:

Jayme Stack është një ekspert për rikuperimin e të dhënave DataNumen, Inc., e cila është lider botëror në teknologjitë e rikuperimit të të dhënave, duke përfshirë shërim sql dhe produkte softuerike të rimëkëmbjes excel. Për më shumë informacion vizitoni www.datanumen.com

Komentet janë të mbyllura.