以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  下拉列问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=16403)

--  作者:土佛
--  发布时间:2012/2/13 12:09:00
--  下拉列问题

狐爸及各位大侠好!有连个问题麻烦一下大家:

1、有个整数列,列名为A,里面数有可能重复,如1、2、2、3、4、4、5...,然后我想在A列做一下拉列,这个下拉列引用的列也是A列,但是,我现在想让下拉列出现的数据是不重复的,即出现的是:1、2、3、4、5...,请问应该怎么加个代码?

2、上面问题的延伸问题,如果我希望下拉列出现的数据是最大的那个数字+1,比如这里,希望出现的是5+1=6,请问代码应该怎么写?


--  作者:czy
--  发布时间:2012/2/13 12:12:00
--  

http://www.foxtable.com/help/topics/1435.htm

 

http://www.foxtable.com/help/topics/0605.htm

 

 


--  作者:狐狸爸爸
--  发布时间:2012/2/13 12:25:00
--  

设置在这个表的PrePareEdit事件中:

 

 

If e.Col.Name = "YY" Then

    Dim s As String = DataTables("MMNN").GetComboListString("A")
    Dim v As integer = DataTables("MMNN").Compute("Max(A)") + 1
    Tables("XX").Cols("YY").ComboList = s & "|" & v

end if


--  作者:土佛
--  发布时间:2012/2/13 16:16:00
--  
先感谢狐爸及CZY,我把这个代码试了一下,结果出错了。我补充一点,A列引用的是自己这列,即同一张表的A列引用A列
--  作者:土佛
--  发布时间:2012/2/13 16:18:00
--  
另外,我最楼上提的两个问题是独立的,一个问题希望表现的是下列为1、2、3、4、5;第二个问题希望下拉列表现就是一个6
--  作者:土佛
--  发布时间:2012/2/13 16:28:00
--  
狐爸,是我错了,我开始没有取消在列属性中设置的下拉列,通过取消后,现在能出现不重复的下拉列了。但我现在就想让其出现最大的那一个值,怎么办
--  作者:狐狸爸爸
--  发布时间:2012/2/13 16:32:00
--  
3楼就可以在后面列出一个最大的值啊。
--  作者:土佛
--  发布时间:2012/2/13 16:33:00
--  

狐爸,补充一下,是最大的那个+1的值,下拉表中只表现这一个值

 


--  作者:狐狸爸爸
--  发布时间:2012/2/13 16:34:00
--  

If e.Col.Name = "YY" Then

   Dim v As integer = DataTables("MMNN").Compute("Max(A)") + 1
   Tables("XX").Cols("YY").ComboList = v

end if


--  作者:土佛
--  发布时间:2012/2/13 16:35:00
--  
狐爸,可以了,我在你的代码的基础上修改了一下,能行。感谢了!