Kako stvoriti vlastiti podijeljeni obrazac u Accessu pomoću VBA

Podijeli sada:

Razdvojeni obrasci u Accessu iznimno su korisni. Nažalost, ne rade kada ih postavite unutar navigacijskog obrasca. Naučite kako možete stvoriti VBA funkciju koja će simulirati Accessove funkcije podijeljenog obrasca i omogućiti da radi čak i unutar navigacijskog obrasca.

Podijeljeni obrazac omogućuje vam da imate dva prikaza svojih zapisa u isto vrijeme – prikaz obrasca i prikaz podatkovne tablice. Omogućuje vam pregled svih vaših zapisa dok vam u isto vrijeme daje mogućnost pregleda i uređivanja jednog po jednog.

Nažalost, podijeljeni obrasci neće funkcionirati ako ih stavite u navigacijski obrazac – nešto što me zbunjuje. Dobro je da postoji zaobilazno rješenje za ovo. Koristeći VBA, možete kreirati vlastitu funkciju koja će simulirati Accessov split obrazac. Samo slijedite korake u nastavku.

Preuzmite sada

Ako želite start koristiti značajku što je prije moguće, tada možete:

Odmah preuzmite oglednu bazu podataka s VBA kodovima

Inače, ako želite DIY, možete pročitati sadržaj u nastavku.

Koraci za stvaranje vlastitog podijeljenog obrasca u Accessu pomoću VBA

1. Otvorite svoj podijeljeni obrazac i ažurirajte zadani prikaz na pojedinačni obrazac. Otvorite svoj podijeljeni obrazac i ažurirajte zadani prikaz na jedan obrazac

  1. Otvorite svoj podijeljeni obrazac.
  2. Dok ste u prikazu dizajna, odaberite obrazac.
  3. Idite na List sa svojstvima (ALT + Enter) > karticu Obrazac.
  4. Promijenite zadani prikaz u: Pojedinačni obrazac.
  5. Zatvorite obrazac i spremite.

2. Napravite kopiju obrasca. Ovo će poslužiti kao prikaz podatkovne tablice.

  1. Idite na navigacijsko okno.
  2. Desnom tipkom miša kliknite obrazac i odaberite Kopiraj.
  3. Kliknite desnom tipkom na prazno područje u navigacijskom oknu i odaberite Zalijepi.
  4. Promijenite naziv obrasca. Dodajte ga s “_Datasheet”.

Primjer:

  • Oblik: Članovi
  • Kopija obrasca: Members_Datasheet

3. Otvorite obrazac podatkovne tablice i ažurirajte svojstva prikaza obrasca.

  1. Otvorite obrazac podatkovne tablice.
  2. Dok ste u prikazu dizajna, odaberite obrazac.
  3. Idite na List sa svojstvima > karticu Obrazac.
  4. Ažurirajte sljedeća svojstva:
    • Zadani prikaz: Opis
    • Dopusti prikaz podatkovne tablice: Da
    • Dopusti prikaz obrasca: Ne
  5. Zatvorite obrazac i spremite.

4. Ponovno otvorite glavni obrazac i dodajte obrazac podatkovne tablice kao podobrazac.

  1. Otvorite glavni obrazac (onaj koji je kopiran) u prikazu dizajna.
  2. Dodajte podobrazac.
    • Idite na izbornik Dizajn. Odaberite Podobrazac/Podizvješće.Odaberite podobrazac
    • Kliknite na područje detalja obrasca.
    • Pojavit će se čarobnjak za podobrazac.Čarobnjak za podobrazac

1. Kliknite na 'Koristi postojeći obrazac'.

2. Odaberite obrazac podatkovne tablice.

3. Kliknite Dalje.Odaberite "Definiraj svoje"

4. Odaberite 'Definiraj svoje'.

5. Kliknite Završi.

3. Obrazac podatkovne tablice sada je podobrazac vašeg glavnog obrasca. Prilagodite ga željenoj veličini i položaju.

5. Na kraju dodajte kod.

  1. Otvorite VBA Editor (ALT + F11).
  2. Odaberite glavni obrazac i zalijepite kod koji slijedi.Odaberite glavni obrazac i zalijepite kod
'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. Nakon kopiranja koda, zamijenite sve instance riječi Članovi_Podatkovna tablica sa stvarnim nazivom obrasca podatkovne tablice.
  2. Kada završite, odaberite obrazac podatkovne tablice iz izbornika Projekt i kopirajte donji kod.
'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. Ažurirajte vrijednosti za sljedeće varijable:
  • pk_tbox – odnosi se na tekstualni okvir koji sadrži primarni ključ.
  • pk_polje – odnosi se na polje primarnog ključa izvora zapisa.

Svaki od njih ima zvjezdicu (*) u odjeljku komentara tako da ih možete lako pronaći.

  1. Kada završite, spremite promjene (CTRL + S) i zatvorite VBA Editor.

Sada možete dodati svoj vlastiti podijeljeni obrazac unutar navigacijskog obrasca. Isprobaj!

Popravite oštećenu pristupnu bazu podataka (.accdb)

Može postojati puno razloga zašto se baza podataka Accessa ošteti. Nažalost, nemamo kontrolu nad most od njih. Ako vam se to ipak dogodi, zapamtite da još uvijek postoji način da se oporavite. DataNumen Inc. je stvorio softver koji obavlja accdb popravak, Provjeri je.

Uvod za autora:

Jayme Stack je stručnjak za oporavak podataka u DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući sql oporavak i excel softverski proizvodi za oporavak. Za više informacija posjetite www.datanumen.com

Podijeli sada:

Komentari su zatvoreni.