Hvordan lage ditt eget delte skjema i Access ved hjelp av VBA

Delte skjemaer i Access er ekstremt nyttige. Dessverre fungerer de ikke når du plasserer dem i et navigasjonsskjema. Finn ut hvordan du kan lage en VBA-funksjon som vil simulere Access' funksjoner for delt skjema og få den til å fungere selv i et navigasjonsskjema.

Delt skjema lar deg ha to visninger av postene dine samtidig – skjemavisning og dataarkvisning. Den lar deg ha en oversikt over alle postene dine samtidig som du kan se og redigere dem én etter én.

Dessverre vil ikke delte skjemaer fungere når du legger dem i et navigasjonsskjema – noe som forvirrer meg. Godt det er en løsning for dette. Ved å bruke VBA kan du lage din egen funksjon som vil simulere Access' delte skjema. Bare følg trinnene nedenfor.

Last ned nå

Hvis du ønsker å starFor å bruke funksjonen så snart som mulig, kan du:

Last ned prøvedatabasen med VBA-koder nå

Ellers, hvis du vil gjøre DIY, kan du lese innholdet nedenfor.

Trinn for å lage ditt eget delte skjema i Access ved hjelp av VBA

1. Åpne det delte skjemaet og oppdater standardvisningen til enkeltskjema. Åpne det delte skjemaet og oppdater standardvisningen til enkeltskjema

  1. Åpne det delte skjemaet.
  2. Velg skjemaet mens du er i designvisning.
  3. Gå til egenskapsarket (ALT + Enter) > Skjema-fanen.
  4. Endre standardvisning til: Enkelt skjema.
  5. Lukk skjemaet og lagre.

2. Lag en kopi av skjemaet. Dette vil fungere som dataarkvisningen.

  1. Gå til navigasjonsruten.
  2. Høyreklikk på skjemaet og velg Kopier.
  3. Høyreklikk på et tomt område i navigasjonsruten og velg Lim inn.
  4. Endre skjemanavnet. Legg den til med "_Datasheet".

Eksempel:

  • Form: Medlemmer
  • Kopi av skjemaet: Members_Datasheet

3. Åpne dataarkskjemaet og oppdater skjemavisningsegenskapene.

  1. Åpne dataarkskjemaet.
  2. Velg skjemaet mens du er i designvisning.
  3. Gå til Egenskapsarket > Skjema-fanen.
  4. Oppdater følgende egenskaper:
    • Standardvisning: Datablad
    • Tillat dataarkvisning: Ja
    • Tillat skjemavisning: Nei
  5. Lukk skjemaet og lagre.

4. Åpne hovedskjemaet på nytt og legg til dataarkskjemaet som underskjema.

  1. Åpne hovedskjemaet (det som ble kopiert) i designvisning.
  2. Legg til et underskjema.
    • Gå til Design-menyen. Velg Underskjema/Underrapport.Velg Underskjema
    • Klikk på detaljområdet i skjemaet.
    • Underskjemaveiviseren vises.Underskjemaveiviseren

1. Klikk på 'Bruk et eksisterende skjema'.

2. Velg dataarkskjemaet.

3.Klikk på Neste.Velg "Definer min egen"

4. Velg 'Definer min egen'.

5.Klikk Fullfør.

3. Dataarkskjemaet er nå et underskjema av hovedskjemaet ditt. Juster den til ønsket størrelse og posisjon.

5. Til slutt legger du til koden.

  1. Åpne VBA Editor (ALT + F11).
  2. Velg hovedskjemaet og lim inn koden som følger.Velg hovedskjemaet og lim inn koden
'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. Etter å ha kopiert koden, bytt ut alle forekomster av ordet Members_Dataheet med det faktiske navnet på dataarkskjemaet.
  2. Når du er ferdig, velg dataarkskjemaet fra Prosjekt-menyen og kopier 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
  1. Oppdater verdiene for følgende variabler:
  • pk_tbox – refererer til tekstboksen som inneholder primærnøkkelen.
  • pk_field – refererer til postkildens primærnøkkelfelt.

De har hver en stjerne (*) i kommentarfeltet slik at du enkelt kan finne dem.

  1. Når du er ferdig, lagre endringene (CTRL + S) og lukk VBA Editor.

Nå kan du legge til ditt helt eget delte skjema i navigasjonsskjemaet. Prøv det!

Reparer skadet tilgangsdatabase (.accdb)

Det kan være mange grunner til at en Access-database blir korrupt. Dessverre har vi ikke kontroll på most av dem. Hvis det skjer med deg, husk at det fortsatt er en måte å gjenopprette det på. DataNumen Inc. har laget en programvare som fungerer accdb reparasjon. Sjekk det ut.

Forfatterintroduksjon:

Jayme Stack er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert sql utvinning og excel-programvareprodukter for gjenoppretting. For mer informasjon besøk www.datanumen. Med

Kommentarer er stengt.