红影 发表于 2008-5-7 08:39

自动判断日期的问题!

我想做一个从下拉列表框里选择年月日 自动判断当月有多少天的程序 但是功能实现不了 谁帮我看看是怎么回事啊
combo2是年份 combo3是月份 combo4是日期
Private Sub Combo3_Change()
    Dim month As Integer
    Dim i As Integer
    month = Val(Combo3.Text)
    Select Case month
           Case 1
            For i = 1 To 31
             Combo4.AddItem i, i - 1
            Next i
           Case 3
            For i = 1 To 31
             Combo4.AddItem i, i - 1
            Next i
           Case 5
            For i = 1 To 31
             Combo4.AddItem i, i - 1
            Next i
           Case 7
            For i = 1 To 31
             Combo4.AddItem i, i - 1
            Next i
           Case 8
            For i = 1 To 31
             Combo4.AddItem i, i - 1
            Next i
           Case 10
            For i = 1 To 31
             Combo4.AddItem i, i - 1
            Next i
           Case 12
            For i = 1 To 31
             Combo4.AddItem i, i - 1
            Next i
           Case 4
            For i = 1 To 30
             Combo4.AddItem i, i - 1
            Next i
           Case 6
            For i = 1 To 30
             Combo4.AddItem i, i - 1
            Next i
           Case 9
            For i = 1 To 30
             Combo4.AddItem i, i - 1
            Next i
           Case 11
            For i = 1 To 30
             Combo4.AddItem i, i - 1
            Next i
           Case 2
            If Val(Combo2.Text) Mod 4 = 0 And Val(Combo2.Text) Mod 100 <> 0 Or Val(Combo2.Text) Mod 400 = 0 Then
                For i = 1 To 29
                    Combo4.AddItem i, i - 1
                Next
            Else
                For i = 1 To 28
                    Combo4.AddItem i, i - 1
                Next
            End If
            End Select
End Sub

a59936758 发表于 2008-5-7 10:01

用DTPicker1控件不可以吗?

lowxiong 发表于 2008-5-7 11:10

Private Sub Combo3_Click()
  on error goto Err_Cl
  dim d as date,i as integer,j as integer
  d=combo2 & "-" & combo3 & "-1"
  d=dateadd("m",1,d)
  d=dateadd("d",-1,d)
  j=day(d)
  combo4.clear
  for i=1 to j
    combo4.additem i
  next
  exit sub
Err_Cl:
  msgbox "日期格式错误,请使用YYYY-MM-DD格式,并且必须是数字",,"错误提示"
End Sub

红影 发表于 2008-5-9 11:25

已经解决了
谢谢大家

jxawgyl 发表于 2008-6-4 14:17

请总是如何解决,如用DTPicker1控件作为查询条件的话,应如何写。就是点中时间后,自动刷新表的内容,我是这样写,但不成功,
Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
Dim w As String  '声明变量,用来保存SQL语句字符串
  '如果没有选择部分信息,则退出
  If DTPicker1.DataBindings = "" Then
    Exit Sub
  End If
  'DTPicker1.BoundText是当前的时间,
  '以此编号设置SQL语句,读取此时间内的所有病人药品信息
  w = "select * from dbo.AdviceListView where roomcode=2000 and sendopecode>0 and exectime>= '" _
           & DTPicker1.DataBindings & "' order by intime desc"

  With Adodc1
  .RecordSource = w
  .Refresh

End Sub

随风逐流 发表于 2008-6-4 14:20

DTPicker1是什麽控件?MS自帶的?我怎么沒見過

西风独自凉 发表于 2008-6-4 16:15

引用即可

红影 发表于 2009-1-5 15:20

我没用DTPicker[em09]

页: [1]

编程论坛