Kahden yhdistelmäruudun synkronoiminen lomakkeessa Microsoft Accessissa
Tässä artikkelissa kuvataan, että AfterUpdate-ominaisuus suorittaa tapahtumatoimintosarjan, kun valitset luokan ensimmäisestä yhdistelmäruudusta.
Alkuperäinen KT numero: 289670
Huomautus
Edellyttää makrojen, koodauksen ja yhteensopivuuden perustaitoja. Tämä artikkeli koskee Microsoft Access -tietokantaa (.mdb/.accdb) ja Microsoft Access -projektia (.adp).
Yhteenveto
Tässä artikkelissa kuvataan, miten kaksi yhdistelmäruutua synkronoidaan niin, että kun valitset kohteen ensimmäisestä yhdistelmäruudusta, valinta rajoittaa toisen yhdistelmäruudun valintoja.
Huomautus
Tässä artikkelissa kerrotaan menetelmästä, joka on näytetiedostossa FrmSmp00.mdb.
Lisätietoja
Seuraavassa esimerkissä käytetään mallitietokannan Northwind.mdb. Ensimmäisessä yhdistelmäruudussa on luettelo käytettävissä olevista tuoteluokista, ja toisessa yhdistelmäruudussa luetellaan ensimmäisessä yhdistelmäruudussa valitun luokan käytettävissä olevat tuotteet:
Microsoft esittää ohjelmointiesimerkkejä vain asian havainnollistamiseksi, ilman suoraa tai epäsuoraa vastuuta niiden toimivuudesta. Tämä sisältää muunmuassa epäsuorat vastuut soveltuvuudesta kaupankäyntiin tai soveltuvuuteen yksilöityyn käyttöön. Tässä artikkelissa oletetaan, että olet perehtynyt käytettyyn ohjelmointikieleen, sekä proseduurien luonti- ja virheenkorjaustyökaluihin. Microsoftin tukihenkilöt voivat auttaa selvittämään tietyn proseduurin toiminnallisuutta, mutta he eivät muokkaa näitä esimerkkejä parantamaan yksittäisen tarpeen toiminnallisuutta eivätkä luo siihen proseduureja.
Avaa mallitietokannan Northwind.mdb.
Luo uusi lomake, joka ei perustu mihinkään taulukkoon tai kyselyyn, käyttämällä seuraavia yhdistelmäruutuja ja tallenna lomake luokiksi ja tuotteiksi.
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"
Huomautus
Jos olet Access-projektissa,
RowSourceType
se on Table/View/StoredProc.Lisää seuraava koodi Luokat-yhdistelmäruudun AfterUpdate-tapahtumatoimintosarjaan:
Me.Products.RowSource = "SELECT ProductName FROM" & _ " Products WHERE CategoryID = " & Me.Categories & _ " ORDER BY ProductName" Me.Products = Me.Products.ItemData(0)
Näytä Luokat ja tuotteet -lomake lomakenäkymässä.
Huomautus
Kun valitset luokan ensimmäisestä yhdistelmäruudusta, toinen yhdistelmäruutu päivitetään luetteloimaan vain valitun luokan käytettävissä olevat tuotteet.
Huomautuksia
Tässä esimerkissä toinen yhdistelmäruutu on täynnä SQL-lauseen tuloksia. Tämä SQL-lause etsii kaikki tuotteet, joiden CategoryID-tunnus vastaa ensimmäisessä yhdistelmäruudussa valittua luokkaa.
Aina kun luokka on valittuna ensimmäisessä yhdistelmäruudussa, AfterUpdate
ominaisuus suorittaa tapahtumatoimintosarjan, joka määrittää toisen yhdistelmäruudun ominaisuuden RowSource
. Tämä päivittää toisen yhdistelmäruudun käytettävissä olevien tuotteiden luettelon. Ilman tätä toimintosarjaa toisen yhdistelmäruudun sisältö ei muuttuisi.
Palaute
https://aka.ms/ContentUserFeedback.
Tulossa pian: Vuoden 2024 aikana poistamme asteittain GitHub Issuesin käytöstä sisällön palautemekanismina ja korvaamme sen uudella palautejärjestelmällä. Lisätietoja on täällä:Lähetä ja näytä palaute kohteelle