关于在vb中大月份小月份的问题。谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/26 00:33:42
有一个作业,算出你现在有没有到可以喝酒的年龄(美国是21岁),我基本写好了,但是有一个问题:
我有3个combobox,分别是年月日。要写一个exception,比如你选择了4月,然后又选了31日,在运行时就会提示你出错。以此类推,在选择了1,3,5,7,8,10,12月后,再选择31日就不会出错,反之就会提示你那个月没有31日。
谢谢大家!

不难
这个还要考虑到闰年时的2月.
可以这样办:
你有三个combobox,分别为cmbYear,cmbMonth,cmbDay

你在cmbYear_Click,和cmbMonth_Click 中写

Dim liDays As Integer
Dim liCnt As Integer
cmbDay.Clear

If cmbMonth.Text = "" Then

Else
liDays = Day(DateSerial(CInt(cmbYear.Text), CInt(cmbMonth.Text) + 1, 0))
For liCnt = 1 To liDays
cmbDay.AddItem liCnt
Next
cmbDay.ListIndex = 0
End If

其中, liDays = Day(DateSerial(CInt(cmbYear.Text), CInt(cmbMonth.Text) + 1, 0))
这个,是返回当前年,当前月中的天数.
具体,自己再调试一下.

你所说得关键是对日期的有效性进行判断的问题。可以这样做:
dim s as string
s=combo1.text & "-" & combo2.text & "-" & combo3.text
if isdate(s)=false then
msgbox combo2.text & "月没有" & combo3.text & "日!"
endif

我没搞懂你的意思,为什么要年月日都有,要不把你的程序粘过来,让大家看看才能帮你