你好我在excel中有一个连接到mysql服务器的userform。 一切正常,除非我把日期文本框留空,我得到一个错误,日期的值不正确
在进一步的研究中我发现文本框在空时返回零长度字符串,而mysql只允许null。 无论如何,当我点击保存按钮时,将文本框设置为null。
答案 0 :(得分:0)
继承我的解决方案,希望这会有所帮助。
基本上它是一个快速检查以查看有问题的文本框是否为空,如果是,则将其设为null:
If textbox1.value = "" then
textbox1.value = null
end if
答案 1 :(得分:0)
最后一个解决方案,但如果您有20个日期列,这将是b的痛苦。不幸的是我有20个日期列.. :(
这是代码,对我来说,希望这可以帮助将来的某个人
Private Sub CommandButton1_Click()
设置cn = CreateObject(“ADODB.Connection”) 设置rs = CreateObject(“ADODB.Recordset”)
strCon =“Driver = {MySQL ODBC 5.3 Unicode Driver}; Server = localhost; Database = sample;” _ &安培; “用户=根;密码=密码;选项= 3;”
cn.Open strCon
如果txt5.Value =“”那么
SQLStr = "insert into sample.details (ID,Name,Age,Gender,Date_of_Birth) values ('" & txt1.Value & "', '" & txt2.Value & "','" & txt3.Value & "','" & txt4.Value & "',Null);"
cn.Execute SQLStr
否则
SQLStr = "insert into sample.details (ID,Name,Age,Gender,Date_of_Birth) values ('" & txt1.Value & "', '" & txt2.Value & "','" & txt3.Value & "','" & txt4.Value & "','" & Format(txt5.Value, "yyyy-mm-dd") & "');"
cn.Execute SQLStr
结束如果 结束子