Първо, нека се уверим, че разбираме концепцията зад „каскадните комбо кутии“. Логиката работи по такъв начин, че след като направите избор от Combo1, наличните опции в Combo2 ще се променят, така че да са елементи, свързани само с Combo1. По същия начин, след като изберем елемент от Combo2, елементите в Combo3 ще бъдат само елементи, свързани с това, което потребителят е избрал в Combo2.
Така че, на първо място, всяко комбинирано поле освен Combo1 трябва да е празно или да е свързано със стойността по подразбиране на Combo1. Можете да го направите по двата начина.
След това, в събитието AfterUpdate на Combo1, трябва да имате нещо подобно:
Me.cboCombo2.RowSource = "SELECT MyFieldNames " & _
"FROM tblMyTable " & _
"WHERE SomeID = " & Nz(Me.cboCombo1) & _
"ORDER BY SomeValue"
Me.cboCombo2.Requery
Очевидно MyFieldNames, tblMyTable и всички тези други стойности ще зависят от това, което всъщност търсите, името на вашата изходна таблица/заявка и имена на полета и т.н....
Добре, така че сега Combo2 трябва да се попълни с данни, които са подходящи само за това, което сте избрали в Combo1, тъй като ние използваме Combo1 като филтър в SQL по-горе.
Ако това изглежда добре, направете горе-долу същото нещо за Combo3. Може да се наложи да филтрирате стойности от двете комбинации или може да успеете да се измъкнете само с използването на тази стойност в Combo2, в зависимост от вашия набор от данни.
Разпенете, изплакнете, повторете. Предполагам, че ще трябва да направите това 50 пъти, ако имате 50 комбинации, но така се прави.
За допълнителна справка вижте тази статия:http://www.fmsinc .com/microsoftaccess/forms/combo-boxes/cascading.html