Opdelte formularer i Access er yderst nyttige. Desværre virker de ikke, når du placerer dem i en navigationsformular. Lær, hvordan du kan oprette en VBA-funktion, der simulerer Access' opdelte formularfunktioner og får den til at fungere selv inde i en navigationsformular.
Opdelt formular giver dig mulighed for at have to visninger af dine poster på samme tid - formularvisning og dataarkvisning. Det giver dig mulighed for at have et overblik over alle dine poster, samtidig med at du har mulighed for at se og redigere dem én efter én.
Desværre vil opdelte formularer ikke fungere, når du lægger dem i en navigationsformular - noget der undrer mig. Godt der er en løsning på dette. Ved hjælp af VBA kan du oprette din egen funktion, der simulerer Access' opdelte form. Bare følg nedenstående trin.
Hent nu
Hvis du vil begynde at bruge funktionen så hurtigt som muligt, kan du:
Download eksempeldatabasen med VBA-koder nu
Ellers kan du læse indholdet nedenfor, hvis du vil gøre det selv.
Trin til at oprette din egen splitformular i Access ved hjælp af VBA
1. Åbn din delte formular, og opdater standardvisningen til Single Form. 
- Åbn din delte formular.
- Vælg formularen i designvisningen.
- Gå til egenskabsarket (ALT + Enter) > Formularfanen.
- Skift standardvisning til: Enkelt formular.
- Luk formularen og gem.
2. Opret en kopi af formularen. Dette vil tjene som dataarkvisning.
- Gå til navigationsruden.
- Højreklik på din formular og vælg Kopier.
- Højreklik på et tomt område i navigationsruden, og vælg Sæt ind.
- Skift formularnavnet. Tilføj det med "_Datasheet".
Eksempel:
- Form: Medlemmer
- Kopi af formularen: Members_Datasheet
3. Åbn dataarkformularen, og opdater dens egenskaber for formularvisning.
- Åbn dataarkformularen.
- Vælg formularen i designvisningen.
- Gå til Egenskabsarket > Formularfanen.
- Opdater følgende egenskaber:
- Standardvisning: Blad
- Tillad dataarkvisning: Ja
- Tillad formularvisning: Ingen
- Luk formularen og gem.
4. Åbn hovedformularen igen, og tilføj dataarkformularen som underformular.
- Åbn hovedformularen (den der blev kopieret) i designvisning.
- Tilføj en underformular.
- Gå til menuen Design. Vælg Underformular/Underrapport.
- Klik på det detaljerede område i formularen.
- Underformularguiden vises.
- Gå til menuen Design. Vælg Underformular/Underrapport.
1. Klik på 'Brug en eksisterende formular'.
2. Vælg din dataarkformular.
3. Klik på Næste.
4. Vælg 'Definer min egen'.
5. Klik på Udfør.
3. Dataarkformularen er nu en underformular til din hovedformular. Juster den til din ønskede størrelse og position.
5. Tilføj til sidst koden.
- Åbn VBA Editor (ALT + F11).
- Vælg hovedformularen, og indsæt koden, der følger.
'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
- Efter kopiering af koden skal du erstatte alle forekomster af ordet Medlemmer_Datablad med det faktiske navn på din dataarkformular.
- Når du er færdig, skal du vælge din dataarkformular fra projektmenuen og kopiere koden nedenfor.
'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
- Opdater værdierne for følgende variabler:
- pk_tbox – henviser til tekstboksen, der indeholder den primære nøgle.
- pk_felt – henviser til postkildens primære nøglefelt.
De har hver en stjerne (*) i kommentarfeltet, så du nemt kan finde dem.
- Når du er færdig, skal du gemme ændringerne (CTRL + S) og lukke VBA Editor.
Nu kan du tilføje din helt egen opdelte formular i navigationsformularen. Prøve det!
Reparer beskadiget adgangsdatabase (.accdb)
Der kan være mange grunde til, at en Access-database bliver beskadiget. Desværre har vi ikke kontrol over de fleste af dem. Hvis det sker for dig, så husk, at der stadig er en måde at gendanne den på. DataNumen Inc. har skabt en software, der udfører accdb reparation. Tjek det ud.
Forfatter Introduktion:
Jayme Stack er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder sql opsving og excel-genopretningssoftwareprodukter. For mere information besøg www.datanumen.com



