Delade formulär i Access är extremt användbara. Tyvärr fungerar de inte när du placerar dem i ett navigeringsformulär. Lär dig hur du kan skapa en VBA-funktion som simulerar Access split-funktionaliteter och får den att fungera även i ett navigeringsformulär.
Delat formulär gör att du kan ha två vyer av dina poster samtidigt - formulärvy och databladvy. Det låter dig ha en översikt över alla dina poster samtidigt som du ger dig möjlighet att visa och redigera dem en efter en.
Tyvärr fungerar delade formulär inte när du placerar dem i ett navigeringsformulär - något som förvirrar mig. Bra att det finns en lösning för detta. Med hjälp av VBA kan du skapa din egen funktion som simulerar Access delad form. Följ bara stegen nedan.
Hämta hem nu
Om du vill börja använda funktionen så snart som möjligt kan du:
Ladda ner provdatabasen med VBA-koder nu
Annars kan du läsa innehållet nedan om du vill göra det själv.
Steg för att skapa ditt eget delade formulär i åtkomst med VBA
1. Öppna ditt delade formulär och uppdatera standardvyn till enstaka formulär. 
- Öppna ditt delade formulär.
- Välj formuläret i designvyn.
- Gå till fastighetsbladet (ALT + Enter)> fliken Form.
- Ändra standardvyn till: Enkelform.
- Stäng formuläret och spara.
2. Skapa en kopia av formuläret. Detta fungerar som dataarkvy.
- Gå till navigeringsfönstret.
- Högerklicka på ditt formulär och välj Kopiera.
- Högerklicka på ett tomt område i navigeringsfönstret och välj Klistra in.
- Ändra formulärnamnet. Lägg till det med “_Datasheet”.
Exempel:
- Form: Medlemmar
- Kopia av formuläret: Members_Datasheet
3. Öppna databladformuläret och uppdatera egenskaperna för formulärvyn.
- Öppna databladformuläret.
- Välj formuläret i designvyn.
- Gå till Fastighetsbladet> Fliken Formulär.
- Uppdatera följande egenskaper:
- Standardläget: Datablad
- Tillåt visning av datablad: Ja
- Tillåt formulärvy: Nej
- Stäng formuläret och spara.
4. Öppna huvudformuläret igen och lägg till databladformuläret som underformulär.
- Öppna huvudformuläret (det som kopierades) i designvyn.
- Lägg till ett underformulär.
- Gå till Design-menyn. Välj Underformulär / Delrapport.
- Klicka på detaljområdet i formuläret.
- SubForm-guiden visas.
- Gå till Design-menyn. Välj Underformulär / Delrapport.
1. Klicka på "Använd ett befintligt formulär".
2.Välj ditt databladformulär.
3.Klicka på Nästa.
4.Välj 'Definiera mina egna'.
5.Klicka på Slutför.
3. Databladformuläret är nu en delformulär för ditt huvudformulär. Justera den till önskad storlek och position.
5. Lägg slutligen till koden.
- Öppna VBA Editor (ALT + F11).
- Välj huvudformuläret och klistra in koden som följer.
'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
- När du har kopierat koden, byt ut alla instanser av ordet Members_Datablad med det faktiska namnet på ditt databladformulär.
- När du är klar väljer du ditt databladformulär från projektmenyn och kopierar koden nedan.
'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
- Uppdatera värdena för följande variabler:
- pk_tbox - hänvisar till textrutan som innehåller den primära nyckeln.
- pk_field - refererar till postkällans primära nyckelfält.
De har var och en en asterisk (*) i kommentarsektionen så att du enkelt kan hitta dem.
- När du är klar sparar du ändringarna (CTRL + S) och stänger VBA Editor.
Nu kan du lägga till din egen delade form i navigeringsformuläret. Testa!
Åtgärda skadad åtkomstdatabas (.accdb)
Det kan finnas många anledningar till att en Access-databas blir skadad. Tyvärr har vi inte kontroll över de flesta av dem. Om det händer dig, kom ihåg att det fortfarande finns ett sätt att återställa den. DataNumen Inc. har skapat en programvara som fungerar accdb reparation. Kolla in det.
Författarintroduktion:
Jayme Stack är en dataåterställningsexpert i DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive SQL-återhämtning och Excel-programvara för återställningsprogramvara. För mer information besök www.datanumen.com



