VB组合框

2024-12-11 15:49:36
推荐回答(2个)
回答1:

Private Sub Combo1_KeyPress(KeyAscii As Integer)
'① 只能输入数字
Select Case KeyAscii
Case 48 To 57, 13 '0~9数字和回车键为合法数据
If KeyAscii = 13 Then '如果回车则添加一笔
Combo1.AddItem Combo1.Text
End If
Case Else '否则为非法数据,去除非法字符
KeyAscii = 0 '0值意思就是除了上一个Case里数字与回车放行,其他全部在此拦截
End Select
End Sub

Private Sub Command1_Click()
Dim Min As Integer, iMin As Integer
Dim Max As Integer, iMax As Integer
Dim t As Integer
'②为了运算能正确做比较,这里的值先设置相反。
Min = 32767 '这里写个大值,不超过Integer限定的32767
Max = 0 '这里写个小值
For t = 0 To Combo1.ListCount - 1 Step 1
'③ 开始循环取出每一个值跟 Min、Max做比较
'如果取出的值比Max大(Max就记录它)
If Max < Val(Combo1.List(t)) Then
Max = Val(Combo1.List(t))
iMax = t '与Max同步记录位置
End If
'如果取出的值比Min小(Min就记录它)
If Min > Val(Combo1.List(t)) Then
Min = Val(Combo1.List(t))
iMin = t '与Min同步记录位置
End If
Next t
' t变量刚刚是做循环用途,底下开始的运行作为交换值的用途
'循环完毕,最小值、最小值下标、最大值和最大值下标已经完成赋值

'开始依照④要求,先做组合框的第0项与最小值交换
t = Val(Combo1.List(0))
Combo1.List(0) = Val(Combo1.List(iMin))
ombo1.List(iMin) = t
'开始依照④要求,最大值与最后项交换(照抄前添加必要的Val函数)
t = Val(Combo1.List(Combo1.ListCount - 1))
Combo1.List(Combo1.ListCount - 1) = Val(Combo1.List(iMax))
Combo1.List(iMax) = t
End Sub

1.在窗体里添加一个Combo1然后到Text属性清空Combo1,属性Style设置为1 Simple Combo,然后用鼠标把控件高度拉开。继续到List属性里按照顺序填入图形内指定的值。再把控件的高度宽度调整到适合即可。
2.添加一个命令按钮Command1,到Caption属性改为【交换】文字,可以到Font里面设置文字大小。
3.把窗体的布局依照图片位置调整一下就全部OK了
'说明写的够详细了,如果是作业,就把文字说明删掉些

回答2:

在使用SELECT语句查数据库的时候使用distinct可以去除重复项,比如:
select
distinct(A),b,c
from
table
这样查出的结果中就不会有A字段重复的结果出现