Проблемы с динамическим полем со списком доступа - PullRequest
0 голосов
/ 25 апреля 2018

Я работаю над этой базой данных в Access.

Вот как выглядит таблица: enter image description here

в этой таблице конвертация fromid и toid должна совпадать, поэтому я так структурировал это. То есть, если я выберу MT, то я могу конвертировать только в другой MT или ST. если я выберу ST в базовом столбце, я смогу конвертировать в другой ST или MT.

Я создал эту форму ниже. у него есть 2 поля со списком. второе поле со списком ограничено на основе выбора из первого поля со списком. То есть, если я выберу MT в первом комбо, то единственные опции, доступные во втором комбо-боксе, это MT или ST. Если я выберу KG, то поле со списком 2 будет ограничено другим KG или LB.

enter image description here

но проблема в том, что, если я выберу один из поля со списком 1, соответствующие пары не отображаются. то есть, если я выберу MT, он не ограничивается MT или ST, но показывает два других значения, таких как L и GLL.

Я приложил копию базы данных. Вот ссылка на базу данных, с которой я тестирую

Ниже приведены снимки кода для каждого: enter image description here

1 Ответ

0 голосов
/ 25 апреля 2018

Ваша идентификационная система с fromID to TOID, похоже, не имеет никакого смысла для меня. Прежде всего, пара всегда одинакова. Каково предполагаемое преимущество этого?

В качестве альтернативы, вместо этого просто используйте текстовые столбцы Base и To и отрегулируйте свойства combo0:

Строка Источник: SELECT DISTINCT base ОТ tblconversions;

Связанная колонка: 1

И метод после обновления

Private Sub Combo0_afterUpdate()
    Dim stoSource As String

    stoSource = "SELECT DISTINCT tblconversions.To FROM tblconversions WHERE tblconversions.to = '" & Me.Combo0.Value & "'"

    Me.Combo2.RowSource = stoSource
    Me.Combo2.Requery
End Sub
...