0

我有多个带有州和国家/地区组合框的地址行。我根据国家限制州列表。看起来像

伊姆古尔

但是,当我更改状态的值并且此详细信息行失去焦点时,它会保存并清除其他状态的值,例如

伊姆古尔

我在状态字段上有一个事件来设置列表,当它获得焦点时。

Private Sub cboState_GotFocus()
    MsgBox ("Country: " & Me.cboCountry.value)
    If Nz(Me.cboCountry, 0) = 0 Then
        MsgBox "Please select a country first"
        Me.cboCountry.SetFocus
    Else
        If Nz(Me.cboCountry.value, 0) = 0 Then
            Me.cboState.RowSource = ""
        Else
            Me.cboState.RowSource = "SELECT id, stateCode, stateName FROM state where country_id = " & Me.cboCountry.value
        End If
    End If
End Sub

我尝试将“列表限制”设置为否,但它给出了一个错误

伊姆古尔

我尝试将 Column Widths 设置为0.001";0.3938";1.1806",但随后它显示 id 字段而不是状态代码。这是当前值

Column Count  3
Column Widths 0";0.3938";1.1806"
Row Source    SELECT id, stateCode, stateName FROM state where country_id = [country_id]
Bound Column  1
Limit to List Yes

如何拥有多个州组合框,每个组合框都有基于国家/地区的不同限制列表?

4

1 回答 1

0

LimitToList其属性设置为的 Access 组合框Yes只能显示该RowSource属性返回的值,即使ControlSource设置为另一个值也是如此。

解决方法是将 atextbox放在combobox(但不覆盖箭头)的顶部,并在属性中textbox使用, 中显示文本值。这样您就可以显示不在列表中的值。=Dlookup("textvalue","tbl","Id = " & numericvalue)ControlSource

于 2013-08-26T14:19:36.827 回答