Gesplitste formulieren in Access zijn buitengewoon handig. Helaas werken ze niet als u ze in een navigatieformulier plaatst. Leer hoe u een VBA-functie kunt maken die de gesplitste formulierfuncties van Access simuleert en zelfs binnen een navigatieformulier laat werken.
Met een gesplitst formulier kunt u twee weergaven van uw records tegelijk hebben: formulierweergave en gegevensbladweergave. Het geeft u een overzicht van al uw records en geeft u tegelijkertijd de mogelijkheid om ze een voor een te bekijken en te bewerken.
Helaas werken gesplitste formulieren niet als je ze in een navigatieformulier plaatst - iets dat me verbijstert. Maar goed dat hier een oplossing voor is. Met VBA kunt u uw eigen functie maken die het gesplitste formulier van Access simuleert. Volg gewoon de onderstaande stappen.
Nu downloaden
Als je de functie zo snel mogelijk wilt gaan gebruiken, kun je het volgende doen:
Download nu de voorbeelddatabase met VBA-codes
Anders, als je zelf wilt klussen, kun je de onderstaande inhoud lezen.
Stappen om uw eigen gesplitste formulier in Access te maken met VBA
1. Open uw gesplitste formulier en werk de standaardweergave bij naar één formulier. 
- Open je gesplitste formulier.
- Selecteer het formulier in de ontwerpweergave.
- Ga naar het eigenschappenblad (ALT + Enter)> tabblad Formulier.
- Wijzig de standaardweergave in: Enkel formulier.
- Sluit het formulier en sla het op.
2. Maak een kopie van het formulier. Dit zal dienen als de datasheetweergave.
- Ga naar het navigatievenster.
- Klik met de rechtermuisknop op uw formulier en selecteer Kopiëren.
- Klik met de rechtermuisknop op een leeg gebied in het navigatievenster en selecteer Plakken.
- Wijzig de formuliernaam. Voeg het toe met "_Datasheet".
Voorbeeld:
- Vorm: leden
- Kopie van het formulier: Members_Datasheet
3. Open het gegevensbladformulier en werk de eigenschappen van de formulierweergave bij.
- Open het gegevensbladformulier.
- Selecteer het formulier in de ontwerpweergave.
- Ga naar het Eigenschappenblad> tabblad Formulier.
- Werk de volgende eigenschappen bij:
- Standaard weergave: Data papier
- Datasheetweergave toestaan: Ja
- Formulierweergave toestaan: Nee
- Sluit het formulier en sla het op.
4. Open het hoofdformulier opnieuw en voeg het gegevensbladformulier toe als subformulier.
- Open het hoofdformulier (het gekopieerde formulier) in de ontwerpweergave.
- Voeg een subformulier toe.
- Ga naar het ontwerpmenu. Selecteer Subformulier / Subrapport.
- Klik op het detailgebied van het formulier.
- De SubForm Wizard verschijnt.
- Ga naar het ontwerpmenu. Selecteer Subformulier / Subrapport.
1. Klik op 'Bestaand formulier gebruiken'.
2.Selecteer uw gegevensbladformulier.
3.Klik op Volgende.
4.Selecteer 'Mijn eigen definiëren'.
5.Klik op Voltooien.
3. Het gegevensbladformulier is nu een subformulier van uw hoofdformulier. Pas het aan uw gewenste grootte en positie aan.
5. Voeg ten slotte de code toe.
- Open de VBA-editor (ALT + F11).
- Selecteer het hoofdformulier en plak de code die volgt.
'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
- Vervang na het kopiëren van de code alle exemplaren van het woord Leden_Gegevensblad met de werkelijke naam van uw gegevensbladformulier.
- Als u klaar bent, selecteert u uw gegevensbladformulier in het menu Project en kopieert u de onderstaande code.
'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
- Werk de waarden bij voor de volgende variabelen:
- pk_tbox - verwijst naar het tekstvak met de primaire sleutel.
- pk_veld - verwijst naar het primaire sleutelveld van de recordbron.
Ze hebben elk een asterisk (*) in het commentaargedeelte, zodat u ze gemakkelijk kunt vinden.
- Als u klaar bent, slaat u de wijzigingen op (CTRL + S) en sluit u de VBA-editor.
Nu kunt u uw eigen gesplitste formulier in het navigatieformulier toevoegen. Probeer het!
Herstel beschadigde toegangsdatabase (.accdb)
Er kunnen talloze redenen zijn waarom een Access-database beschadigd raakt. Helaas hebben we daar meestal geen controle over. Mocht het u toch overkomen, onthoud dan dat er nog steeds een manier is om de database te herstellen. DataNumen Inc. heeft een software gemaakt die presteert accdb reparatie. Bekijken.
Auteur Introductie:
Jayme Stack is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder sql herstel en Excel-herstelsoftwareproducten. Voor meer informatie bezoek www.datanumen.com



