„Access“ padalintos formos yra labai naudingos. Deja, jie neveikia, kai įdedate juos į naršymo formą. Sužinokite, kaip galite sukurti VBA funkciją, kuri imituos „Access“ padalintos formos funkcijas ir leis jai veikti net naršymo formoje.
Išskaidyta forma leidžia vienu metu turėti du įrašų rodinius – formos rodinį ir duomenų lapo rodinį. Tai leidžia jums peržiūrėti visus savo įrašus ir tuo pat metu suteikti galimybę peržiūrėti ir redaguoti juos po vieną.
Deja, suskaidytos formos neveiks, kai jas įdėsite į naršymo formą – tai mane glumina. Gerai, kad yra išeitis. Naudodami VBA galite sukurti savo funkciją, kuri imituos „Access“ padalintą formą. Tiesiog atlikite toliau nurodytus veiksmus.
Atsisiųsti dabar
Jei norite starJei norite kuo greičiau pasinaudoti šia funkcija, galite:
Atsisiųskite pavyzdinę duomenų bazę su VBA kodais dabar
Kitu atveju, jei norite pasidaryk pats, galite perskaityti toliau pateiktą turinį.
Veiksmai, kaip sukurti savo padalintą formą programoje „Access“ naudojant VBA
1. Atidarykite išskaidytą formą ir atnaujinkite numatytąjį rodinį į vieną formą. 
- Atidarykite padalintą formą.
- Būdami dizaino rodinyje pasirinkite formą.
- Eikite į ypatybių lapą (ALT + Enter) > skirtuką Forma.
- Pakeiskite numatytąjį rodinį į: Viena forma.
- Uždarykite formą ir išsaugokite.
2. Sukurkite formos kopiją. Tai bus duomenų lapo rodinys.
- Eikite į naršymo sritį.
- Dešiniuoju pelės mygtuku spustelėkite formą ir pasirinkite Kopijuoti.
- Dešiniuoju pelės mygtuku spustelėkite tuščią sritį naršymo srityje ir pasirinkite Įklijuoti.
- Pakeiskite formos pavadinimą. Pridėkite jį su „_Datasheet“.
Pavyzdys:
- Forma: nariai
- Formos kopija: Members_Datasheet
3. Atidarykite duomenų lapo formą ir atnaujinkite jos formos rodinio ypatybes.
- Atidarykite duomenų lapo formą.
- Būdami dizaino rodinyje pasirinkite formą.
- Eikite į ypatybių lapą > skirtuką Forma.
- Atnaujinkite šias ypatybes:
- Numatytasis rodinys: Duomenų lapas
- Leisti duomenų lapo rodinį: Taip
- Leisti peržiūrėti formą: Ne
- Uždarykite formą ir išsaugokite.
4. Iš naujo atidarykite pagrindinę formą ir pridėkite duomenų lapo formą kaip antrinę formą.
- Atidarykite pagrindinę formą (tą, kuri buvo nukopijuota) dizaino rodinyje.
- Pridėti antrinę formą.
- Eikite į dizaino meniu. Pasirinkite antrinę formą / papildomą ataskaitą.
- Spustelėkite formos Išsamios informacijos sritį.
- Pasirodys antrinės formos vedlys.
- Eikite į dizaino meniu. Pasirinkite antrinę formą / papildomą ataskaitą.
1. Spustelėkite „Naudoti esamą formą“.
2. Pasirinkite duomenų lapo formą.
3.Spustelėkite Kitas.
4. Pasirinkite „Apibrėžti savo“.
5. Spustelėkite Baigti.
3. Duomenų lapo forma dabar yra pagrindinės formos antrinė forma. Sureguliuokite jį pagal norimą dydį ir padėtį.
5. Galiausiai pridėkite kodą.
- Atidarykite VBA redaktorių (ALT + F11).
- Pasirinkite pagrindinę formą ir įklijuokite toliau esantį 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
- Nukopijavę kodą, pakeiskite visus žodžio atvejus Nariai_duomenų lapas su tikruoju duomenų lapo formos pavadinimu.
- Baigę pasirinkite savo duomenų lapo formą iš projekto meniu ir nukopijuokite toliau esantį 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
- Atnaujinkite šių kintamųjų reikšmes:
- pk_tbox – nurodo teksto laukelį, kuriame yra pirminis raktas.
- pk_field – nurodo įrašo šaltinio pirminio rakto lauką.
Kiekvienas jų komentarų skiltyje yra paženklintas žvaigždute (*), kad galėtumėte lengvai juos rasti.
- Baigę išsaugokite pakeitimus (CTRL + S) ir uždarykite VBA redaktorių.
Dabar naršymo formoje galite pridėti savo išskaidytą formą. Išbandyk!
Pataisyti pažeistą prieigos duomenų bazę (.accdb)
Priežasčių, kodėl „Access“ duomenų bazė sugenda, gali būti daug. Deja, mes nekontroliuojame most jų. Jei taip atsitiks jums, atminkite, kad vis dar yra būdas tai susigrąžinti. DataNumen Inc. sukūrė programinę įrangą, kuri atlieka accdb remontas. Pasižiūrėk.
Autoriaus įvadas:
Jayme'as Stackas yra duomenų atkūrimo ekspertas DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant sql atkūrimas ir Excel atkūrimo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com



