在VB中我做了一个SUB,
public sub test(test as date)
...
end sub
我发现如果TEST是NULL比如:
do test(null)时不能是NULL而是传一个1899-12-31的值,求高手怎样才能传一个日期型是NULL的值???
public sub test(test as date)
...
end sub
我发现如果TEST是NULL比如:
do test(null)时不能是NULL而是传一个1899-12-31的值,求高手怎样才能传一个日期型是NULL的值???
MsgBox Test(Null)
End Sub
Private Function Test(Somedate As Variant) As Date
If IsNull(Somedate) Then
Test = CDate("1899-12-31")
Else
Test = CDate(Somedate)
End IfEnd Function
date类型变量用null赋值的时候会自动变为1899-12-31的
我想,楼主的意思是,如果是null的时候,不要变为1899-12-31吧
不过楼上的做法可以借鉴,因为date类型不能设置为null的,可以把参数换为Variant型,然后做判断
do sub AA( test as string)
.....存储过程(参数为test)
end sub
因为我在SQL的存储过程中做了一个test is not null时的判断如果Call AA(vbnullstring),会出现根本不能正常传NULL到,如果在存储过程中直接用参数值为NULL时,就没有问题,可正常运行.求高手为什么是这样???