vb中日期的存储

来源:百度知道 编辑:UC知道 时间:2024/05/27 10:12:56
我做了个程序,想用时间一起存储,然后查询时按时间查询。系统总是说with未定义。我改了多次都不能实现。请哪位高手指点一下,最好帮我改一下代码。不胜感激。
Private Sub Command4_Click()
Dim sql, strSQL, st As String
Dim nian As Data, yue As Data, msxun As String, mxun As String

nian = Year(Date)'———————就是这里提示的
yue = Month(Date)
mxun = Day(Date)
If Val(mxun) < 0 And Val(mxun) < 11 Then
msxun = "上旬"
ElseIf Val(mxun) < 10 And Val(mxun) < 21 Then
msxun = "中旬"
Else
msxun = "下旬"
End If
'连接数据库
Set conn = New ADODB.Connection
sql = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\数据库.mdb"
strSQL = "select * from 代码 "
conn.Open sql
Set rs = New ADODB.Recordset
rs.ActiveConnection = conn
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
rs.Open strSQL
'添加记录
rs.AddNew
rs.Fields(0).Value = nian
rs.Fields(1).Value = yue
r

打眼一看就有两个不对的地方
If Val(mxun) < 0 And Val(mxun) < 11 Then
msxun = "上旬"
ElseIf Val(mxun) < 10 And Val(mxun) < 21 Then
msxun = "中旬"
应该是Val(mxun) > 0 和Val(mxun) > 10 吧
我再看看别的地方
===============================有答案了==========================
你把Dim nian As Data, yue As Data改成
Dim nian As integer, yue As integer
就OK了
==========================顺便再补充下===========================
每次打开连接之后建议用完了数据就关上连接施放内存降低服务器压力
rs.close
cn.close'顺序别搞反了否则出错
set rs=nothing
set cn=nothing

access里面日期类型的要用##,如:#2009-01-01#

nian = Year(Date)'
nian = date.year