2016-09-02 4 views
0

привет У меня есть пользовательская форма в excel, которая подключена к серверу mysql. все работает, за исключением случаев, когда я оставляю текстовое поле для даты пустым, я получаю сообщение об ошибке, что значение даты неверноСделать текстовое поле пустым, если пусто

Дальнейшие исследования Я обнаружил, что текстовое поле возвращает строку нулевой длины при пустой и mysql допускает только null. Есть ли способ установить текстовое поле как null, когда я нажимаю кнопку сохранения.

+0

попробуйте изменить или оставить событие – arcadeprecinct

+0

Может быть дубликатом HTTP : //stackoverflow.com/questions/7475023/how-do-i-check-for-null-value-in-an-excel-userform-textbox/7475152#7475152 –

ответ

0

Heres моя попытка решения, надеюсь, это поможет.

В основном его быстрая проверка, чтобы увидеть, если текстовое поле в вопросе пусто, и если да, то сделать его недействительным:

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

Я подумал об этом, где я должен добавить это код ... я должен добавить его в событие нажатия кнопки? – Danny

+0

Nope попробовал это на случай нажатия кнопки не работал – Danny

0

Наконец решение, но это будет боль в Ь, если у вас есть 20 столбцов. К сожалению, у меня есть 20 дата столбцов .. :(

Это код, который для меня, надеюсь, что это поможет кому-то в будущем

Private Sub CommandButton1_Click() 

Установить сп = CreateObject ("ADODB.Connection") Set Rs = CreateObject ("ADODB.Recordset")

strCon = "Driver = {MySQL ODBC 5.3 Unicode Driver}; Server = локальный; Database = образец;" _ & «User = корень; Password = Пароль; Option = 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 

Else

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 

End If End Sub

Смежные вопросы