以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关联的下拉列表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192888)

--  作者:wldhj
--  发布时间:2024/7/30 17:03:00
--  [求助]关联的下拉列表
数据表中怎么实现选择一个下拉列表内容,另一个下拉列表内容也发生变化?比如有一个省份列,是一个下拉列表列,可以选择”湖北“、”湖南“、”江西“等,如果选择”湖北“,另一个”城市“下拉列表列,只能出现湖北省管辖的城市名.
--  作者:有点蓝
--  发布时间:2024/7/30 17:14:00
--  
参考:http://www.foxtable.com/webhelp/topics/1457.htm
--  作者:wldhj
--  发布时间:2024/7/31 9:49:00
--  
能不能实现每一行根据内容不同,下拉列表也不同?
--  作者:有点蓝
--  发布时间:2024/7/31 10:12:00
--  
可以,就是2楼的用法。
--  作者:wldhj
--  发布时间:2024/7/31 10:25:00
--  
这个只要省份列一个单元格变了,一改整个”城市“列的下拉列表都变了。我只想这个单元格所在的行的”城市“下拉列表改变
--  作者:有点蓝
--  发布时间:2024/7/31 10:29:00
--  
不会的,肯定您没有用对。请上传实例说明
--  作者:wldhj
--  发布时间:2024/7/31 10:40:00
--  
代码写在 ChangeEdit 表事件里
If e.Col.Name ="省份" Then 
Select Case e.Text 
Case "湖北"
e.Table.Cols("城市").Combolist ="湛江佳信公司|深圳汇丰公司|北京冠豪公司" 
Case "广东"
e.Table.Cols("城市").Combolist ="湛江佳信公司1|深圳汇丰公司1|北京冠豪公司1" 
Case "湖南"
e.Table.Cols("城市").Combolist ="湛江佳信公司2|深圳汇丰公司2|北京冠豪公司2" 
Case Else
e.Table.Cols("城市").Combolist ="湛江佳信公司3|深圳汇丰公司3|北京冠豪公司3" 
End Select
end if
[此贴子已经被作者于2024/7/31 10:43:58编辑过]

--  作者:有点蓝
--  发布时间:2024/7/31 10:48:00
--  
没按帮助使用,必须放到PrepareEdit事件,另外代码的用法也不对

If e.IsFocusCell Then
    If
 e.Col.Name = "城市" Then
        Select
 Case e.Row("
省份")
            Case
 "
湖北"
                e.Col.ComboList = 
"
湛江佳信公司|深圳汇丰公司|北京冠豪公司"
            
Case "
广东"
                e.Col.ComboList = 
"
湛江佳信公司1|深圳汇丰公司1|北京冠豪公司1"
……
        
End Select
    End
 If
End If