Private Function GetShortDate(ByVal strDate As String) As Date
If Trim(strDate) <> "- -" Then
GetShortDate = DateValue(Trim(strDate))
Else
GetShortDate = Null '用户未输入
End If
End Function该函数是小弟用来把MaskEdBox控件的内容转换为数据库能识别的日期格式的,MaskEdBox的Mask属性被设置为:####-##-##。程序执行到GetShortDate = DateValue(Trim(strDate))这一行时即报错说“type mismach”。
请问各位大虾,怎样才能避免这种情况,或者说怎样把MaskEdBox控件的内容转换为数据库能识别的日期格式?
还有,这句GetShortDate = Null有问题吗?
If Trim(strDate) <> "- -" Then
GetShortDate = DateValue(Trim(strDate))
Else
GetShortDate = Null '用户未输入
End If
End Function该函数是小弟用来把MaskEdBox控件的内容转换为数据库能识别的日期格式的,MaskEdBox的Mask属性被设置为:####-##-##。程序执行到GetShortDate = DateValue(Trim(strDate))这一行时即报错说“type mismach”。
请问各位大虾,怎样才能避免这种情况,或者说怎样把MaskEdBox控件的内容转换为数据库能识别的日期格式?
还有,这句GetShortDate = Null有问题吗?
解决方案 »
- 同一个程序,多次启动,怎么才能知道某次启动的进程唯一性!
- 关于IPictureDisp
- vb(vb.net)阳历转农历的算法,网上多了去了,但我都发现有很多错误。如果你的软件中有这个功能,不防看看也有没有错。
- datagrid 控件选定一行记录后,用delete键可以删除该条记录。我想通过单击界面上的按钮来完成该操作,请问该怎么写。
- 各位大哥,我没分了! 谁帮我!!!~~~~~
- 读取Excel文件问题
- Insert语句如何写?
- 怎样设计datareport里detail session里的行数,像票据的设计,预先设计行数,不论有多少条记录,每次最多能放五条记录.
- 真的没人能告诉我 在.dll怎么用timer控件么
- 在修改绑定的datagrid内容时,若关闭窗口则修改后的内容将会被保存到数据库中,请问怎样才能在关闭窗口后内容不被保存呢?
- 如何通过Access2000创建三个表的分类汇总查询???
- picbox和动态生成控件大人乱入(qq:10083440,在线等待)
CDate我用过的,弹出的错误也一样。请问Format怎么用?
“返回一个原始日期”这句话请大侠指点详细些,我的本意是用户不输入时用的。
请继续指点
请大家多多指点。
If isdate(strDate) Then
GetShortDate = format(strdate,"yyyy-mm-dd")
Else
GetShortDate = "1900-01-01"
End If
End Function
If IsDate(MaskEdBox.Text) Then
MaskEdBox.Text = Format(MaskEdBox.Text, "yyyy-mm-dd")
getshortdate = True
Else
MaskEdBox.SetFocus
SendKeys "{home}+{end}"
getshortdate = False
End If
End FunctionPrivate Sub Command1_Click()
If Not getshortdate(MaskEdBox1) Then
MsgBox "时间格式错误!"
End If
End Sub
Private Function GetShortDate(ByVal strDate As String) As Date
If Trim(strDate) <> "- -" Then '
GetShortDate = CDate(Format(Trim(strDate), "yyyy-mm-dd"))
Else
GetShortDate = "1900-01-01"
End If
End Function结果还是报错,请各位救命了。这究竟是怎么回事?
改成
GetShortDate = CDate(Format(Trim(strDate), "yyyy-MM-dd"))FORMAT自定义时间格式中大写的M表示月份,小写的m表示分钟
你可以先试一下GetShortDate = CDate(Format(Now(), "yyyy-MM-dd"))行不行
如果不改系统的日期格式,就要手工分割MaskEdBox的年、月、日三部分。或者将MaskEdBox的Mask属性被设置为:####/##/##。
1、前面的“程序执行到GetShortDate = DateValue(Trim(strDate))这一行时即报错说“type mismach”。”是类型转换错误。字符串类型转换日期型是有条件的,并不是什么字符串都能转换的,用Isdate函数可以判断字符串是否能转换成日期型,如果返回“真”那这个字符串就可以转换成日期型,否则就不能转换。如果试图将一个不能转换成日期型的字符串进行类型转换就会出现“type mismach”的错误。2、什么叫“数据库能识别的日期格式”,用Cdate函数将字符串转换成日期型后,还没有见到过哪种数据库不能识别。3、Format函数只是将日期转换成某种特定格式的字符串,以便于显示和计算
2、什么叫“数据库能识别的日期格式”,用Cdate函数将字符串转换成日期型后,还没有见到过哪种数据库不能识别。(前提是数据库对应字段的类型必须是日期型的,如Date、DateTime、SmallDateTime等,不同的数据库会有所差别)