问一个关于combobox的问题

homebysea 2003-08-19 10:51:55
CboSub1的内容为x1、x2...xi等等这类,CboSub2为(和[ CboSub3为)和]
实现的功能如下:点击按钮,将xi的取值范围添加到CboSub4列表中去,如果xi已在列表中,即已有取值范围,则提示出错。
可是发觉,即使xi取值范围已在列表中,还是继续添加到列表中,没有提示出错。
请知道的帮忙解决一下

Private Sub CmdSub1_Click()
ReDim A(Nvar) As Boolean
Dim Judge(6) As Integer
Dim LeftCode As String
Dim RightCode As String
Dim ValRange As String
Dim Warning As String
Dim Output As Integer
Dim j As Integer
Dim k As Integer
Judge(1) = IIf(CboSub1.Text = " ", 0, 1)
Judge(2) = IIf(CboSub2.Text = " ", 0, 1)
Judge(3) = IIf(CboSub3.Text = " ", 0, 1)
Judge(4) = IIf(IsNumeric(TxtSub1.Text), 1, 0)
Judge(5) = IIf(IsNumeric(TxtSub2.Text), 1, 0)
Judge(6) = IIf(Val(TxtSub1.Text) >= Val(TxtSub2.Text), 0, 1)
If Judge(1) + Judge(2) + Judge(3) + Judge(4) + Judge(5) + Judge(6) = 6 Then
k = Val(Mid(CboSub1.Text, 2))
If A(k) = True Then
Warning = "已有" & CboSub1.Text & "取值范围"
Output = MsgBox(Warning, 48, "错误输入")
Else
j = 0
LeftCode = IIf(CboSub2.Text = "(", "(", "[")
RightCode = IIf(CboSub3.Text = ")", ")", "]")
ValRange = CboSub1.Text & "∈" & LeftCode & TxtSub1.Text & "," & TxtSub2.Text & RightCode
CboSub4.AddItem ValRange, j
j = j + 1
A(k) = True
End If
End If
End Sub
...全文
38 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenlishu413 2003-08-23
  • 打赏
  • 举报
回复
要用for循環判斷
如 for i=0 to combo2.listcount-1
if combo1.text=combo2.list(i) then
msgbox "wrong"
exit sub
end if
next i
xingnup 2003-08-23
  • 打赏
  • 举报
回复
找到出错地方了,你的数组定义在过程内,所以每次进入过程时其值都为False.
ReDim A(Nvar) As Boolean

应该将其定义到外面用private 或public都可.
iiboy 2003-08-22
  • 打赏
  • 举报
回复
在插入时花时间去查找是不是已有该内容存在.
snail2011 2003-08-22
  • 打赏
  • 举报
回复
If A(k) = True Then
MsgBox("有相同的*****"),vbinformation
Else
.......
xingnup 2003-08-22
  • 打赏
  • 举报
回复
代码太多了,眼力不够,懒得看,把这个Form寄给我吧,帮你调试分析一下!
xingnup@163.com

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧