Ako si vytvoriť vlastný rozdelený formulár v Accesse pomocou VBA

Zdieľať teraz:

Rozdelené formuláre v Accesse sú mimoriadne užitočné. Keď ich umiestnite do navigačného formulára, bohužiaľ nefungujú. Naučte sa, ako môžete vytvoriť funkciu VBA, ktorá bude simulovať funkcie rozdelenej formy Accessu a umožní jej fungovanie aj vo vnútri navigačného formulára.

Rozdelený formulár vám umožňuje mať dve zobrazenia vašich záznamov súčasne - formálne a datasheet. To vám umožní mať prehľad o všetkých vašich záznamoch a zároveň vám dá možnosť ich zobraziť a editovať jeden po druhom.

Rozdelené formuláre bohužiaľ nebudú fungovať, keď ich vložíte do navigačného formulára - niečo, čo ma zaráža. Dobrá vec, existuje pre to riešenie. Pomocou VBA môžete vytvoriť svoju vlastnú funkciu, ktorá bude simulovať rozdelenú formu Accessu. Postupujte podľa pokynov uvedených nižšie.

stiahnuť

Ak chcete začať používať túto funkciu čo najskôr, môžete:

Stiahnite si ukážkovú databázu s kódmi VBA

V opačnom prípade si môžete prečítať obsah uvedený nižšie.

Kroky na vytvorenie vlastného rozdeleného formulára v programe Access pomocou VBA

1. Otvorte rozdelený formulár a aktualizujte Predvolené zobrazenie na jeden formulár. Otvorte svoj rozdelený formulár a aktualizujte predvolené zobrazenie na jeden formulár

  1. Otvorte rozdelený formulár.
  2. V návrhovom zobrazení vyberte formulár.
  3. Prejdite na hárok vlastností (ALT + Enter)> karta Formulár.
  4. Zmeniť predvolené zobrazenie na: Jeden formulár.
  5. Zatvorte formulár a uložte.

2. Vytvorte kópiu formulára. Bude to slúžiť ako zobrazenie údajového listu.

  1. Prejdite na navigačnú tablu.
  2. Pravým tlačidlom myši kliknite na formulár a vyberte príkaz Kopírovať.
  3. Kliknite pravým tlačidlom myši na prázdnu oblasť na navigačnom paneli a vyberte príkaz Prilepiť.
  4. Zmeňte názov formulára. Pripojte ho k „_Datasheet“.

Príklad:

  • Forma: Členovia
  • Kópia formulára: Members_Datasheet

3. Otvorte formulár údajového listu a aktualizujte vlastnosti jeho zobrazenia formulára.

  1. Otvorte formulár údajového listu.
  2. V návrhovom zobrazení vyberte formulár.
  3. Prejdite na kartu Vlastnosti> karta Formulár.
  4. Aktualizujte nasledujúce vlastnosti:
    • Predvolené zobrazenie: Dátový hárok
    • Povoliť zobrazenie údajového hárka: Áno
    • Povoliť zobrazenie formulára: Nie
  5. Zatvorte formulár a uložte.

4. Znova otvorte hlavný formulár a pridajte formulár údajového hárka ako podformulár.

  1. Otvorte hlavný formulár (ten, ktorý bol skopírovaný) v návrhovom zobrazení.
  2. Pridajte podformulár.
    • Prejdite do ponuky Dizajn. Vyberte podformulár / podreport.Vyberte podformulár
    • Kliknite na oblasť Podrobnosti vo formulári.
    • Zobrazí sa Sprievodca podformulárom.Sprievodca podformulárom

1. Kliknite na „Použiť existujúci formulár“.

2. Vyberte formulár údajového listu.

3. Kliknite na Ďalej.Vyberte možnosť „Definovať moje vlastné“

4. Vyberte možnosť Definovať moje vlastné.

5. Kliknite na tlačidlo Dokončiť.

3. Formulár údajového listu je teraz podformulárom vášho hlavného formulára. Upravte ho na požadovanú veľkosť a polohu.

5. Nakoniec pridajte kód.

  1. Otvorte editor VBA (ALT + F11).
  2. Vyberte hlavný formulár a vložte nasledujúci kód.Vyberte hlavný formulár a vložte kód
'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. Po skopírovaní kódu nahraďte všetky výskyty slova Členovia_Údajový list so skutočným názvom formulára vášho údajového listu.
  2. Po dokončení vyberte z ponuky Projekt formulár s údajovým listom a skopírujte kód uvedený nižšie.
'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. Aktualizujte hodnoty pre nasledujúce premenné:
  • pk_tbox - odkazuje na textové pole obsahujúce primárny kľúč.
  • pk_field - odkazuje na pole primárneho kľúča zdroja záznamu.

Každý z nich má v sekcii komentárov hviezdičku (*), aby ste ich mohli ľahko nájsť.

  1. Po dokončení uložte zmeny (CTRL + S) a zatvorte editor VBA.

Teraz môžete do navigačného formulára pridať svoj vlastný rozdelený formulár. Vyskúšaj to!

Opraviť poškodenú databázu prístupu (.accdb)

Existuje veľa dôvodov, prečo sa databáza Accessu poškodí. Žiaľ, väčšinu z nich nemôžeme ovplyvniť. Ak sa vám to stane, nezabudnite, že stále existuje spôsob, ako ju obnoviť. DataNumen Inc. vytvorila softvér, ktorý vykonáva svoju činnosť accdb oprava, Skontrolovať to.

Úvod autora:

Jayme Stack je expert na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane zotavenie sql a vynikajúce softvérové ​​produkty na obnovenie. Pre viac informácií navštívte www.datanumen. S

Zdieľať teraz:

Komentáre sú uzavreté.