2016-09-02 108 views
0

你好我有一個用戶表單連接到mysql服務器。 一切正常,除非當我離開日期爲空的文本框,我得到的錯誤,日期的值是不正確如果空文本框爲空

關於進一步的研究我發現文本框返回零長度的字符串時,空和mysql只允許null。 無論如何,當我點擊保存按鈕時,將文本框設置爲空。

+0

嘗試改變或離開事件 – arcadeprecinct

+0

也許重複的http ://stackoverflow.com/questions/7475023/how-do-i-check-for-null-value-in-an-excel-userform-textbox/7475152#7475152 –

回答

0

繼承人我的解決方案的嘗試,希望這會有所幫助。

基本上它是一個快速檢查,看是否有問題的文本框爲空,如果是這樣,那麼讓它空:,

If textbox1.value = "" then 
    textbox1.value = null 
end if 
+0

我想過,我應該在哪裏添加這個代碼...應該將它添加到按鈕單擊事件? – Danny

+0

沒有在按鈕單擊事件上嘗試過它不起作用 – Danny

0

最後的解決方案,但這將是在B一個痛苦,如果你有20個日期列。不幸的是我有20分日期列.. :(

這是代碼這對我來說,希望這可以幫助別人,將來

Private Sub CommandButton1_Click() 

設置CN =的CreateObject( 「ADODB.Connection」) 集RS =的CreateObject( 「ADODB.Recordset」)

STRCON = 「驅動器= {MySQL的ODBC 5.3 Unicode的驅動};服務器=本地主機;數據庫=樣品;」 _ &「用戶=根;密碼=密碼;選項= 3 ;「

c n.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 

結束如果 結束小組

相關問題