Synkronisera två kombinationsrutor i ett formulär i Microsoft Access

I den här artikeln beskrivs egenskapen AfterUpdate som kör en händelseprocedur när du väljer en kategori i den första kombinationsrutan.

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Ursprungligt KB-nummer:   289670

Anteckning

Kräver grundläggande makron, kodning och kompatibilitetsfärdigheter. Den här artikeln gäller en Microsoft Access-databas (.mdb/.accdb) och ett Microsoft Access-projekt (.adp).

Sammanfattning

I den här artikeln beskrivs hur du synkroniserar två kombinationsrutor så att när du markerar ett objekt i den första kombinationsrutan begränsar urvalet alternativen i den andra kombinationsrutan.

Anteckning

I den här artikeln förklaras en teknik som demonstreras i exempelfilen, FrmSmp00.mdb.

Mer information

I följande exempel används exempeldatabasen Northwind.mdb. I den första kombinationsrutan visas de tillgängliga produktkategorierna och i den andra kombinationsrutan visas de tillgängliga produkterna för den kategori som valts i den första kombinationsrutan:

Microsoft tillhandahåller programmeringsexempel enbart i förklarande syfte och gör inga utfästelser, varken uttryckligen eller underförstått. Detta omfattar men begränsas inte till underförstådd garanti för säljbarhet eller lämplighet för ett visst syfte. I denna artikel förutsätts att du känner till det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supportexperter kan hjälpa till att förklara funktionerna i en viss procedur, men de kommer inte att ändra dessa exempel för att tillhandahålla extra funktioner eller konstruera procedurer för att uppfylla dina specifika behov.

  1. Öppna exempeldatabasen Northwind.mdb.

  2. Skapa ett nytt formulär som inte baseras på någon tabell eller fråga med följande kombinationsrutor och spara sedan formuläret som Kategorier och produkter.

    Combo Box 1
    -------------------------------
    Name:          Categories
    RowSourceType: Table/Query
    RowSource:     Categories
    ColumnCount:   2
    ColumnWidths:  0";1"
    BoundColumn:   1
    AfterUpdate:   [Event Procedure]
    
    Combo Box 2
    --------------------------
    Name:          Products
    RowSourceType: Table/Query
    ColumnWidths:  2"
    Width:         2"
    

    Anteckning

    Om du arbetar i ett Access-projekt RowSourceType blir tabell/vy/StoredProc.

  3. Lägg till följande kod i händelseproceduren AfterUpdate i kombinationsrutan Kategorier:

    Me.Products.RowSource = "SELECT ProductName FROM" & _
       " Products WHERE CategoryID = " & Me.Categories & _
       " ORDER BY ProductName"
    Me.Products = Me.Products.ItemData(0)
    
  4. Visa formuläret Kategorier och produkter i formulärvyn.

    Anteckning

    När du väljer en kategori i den första kombinationsrutan uppdateras den andra kombinationsrutan så att endast de tillgängliga produkterna för den valda kategorin visas.

Anteckningar

I det här exemplet fylls den andra kombinationsrutan med resultatet av en SQL sats. Med SQL här instruktionen hittas alla produkter som har ett Kategori-ID som matchar den kategori som väljs i den första kombinationsrutan.

När en kategori väljs i den första kombinationsrutan kör egenskapen händelseproceduren, som anger egenskapen för den AfterUpdate andra RowSource kombinationsrutan. Då uppdateras listan med tillgängliga produkter i den andra kombinationsrutan. Utan den här proceduren ändras inte innehållet i den andra kombinationsrutan.