2016-09-03 2 views
0

Excel VBA 사용자 폼의 값을 MySQLDBA에 삽입하려고합니다. 날짜 열의 빈 텍스트 상자 값에 문제가 있습니다. MySQL은 허용하지 않지만 Null을 허용합니다.빈 문자열을 null로 변환하는 insert 문의 case 문 추가

삽입 쿼리에 case 문을 추가하여 열 값이 빈 문자열인지 확인하고 그럴 경우 해당 열에 null을 삽입 할 수 있습니까? 그렇지 않으면 그것은 텍스트 상자의 값을 삽입해야

여기 Date_of_Birth 열이 비어있는 문자열을 확인해야합니다 VBA 내 현재 쿼리이다. 내가 노력

Str = "insert into sample.details (ID,Name,Age,Gender,Date_of_Birth) values ('" & txt1.Value & "', '" & txt2.Value & "','" & txt3.Value & "','" & txt4.Value & "','" & txt5.Value & "');" 

PS는 txt5의 경우 조건을 설정. 가치가 있지만 작동하지 않습니다.

답변

0

IIf 기능을 사용할 수 있습니다.

Str = "insert into sample.details (ID,Name,Age,Gender,Date_of_Birth) values ('" & txt1.Value & "', '" & txt2.Value & "','" & txt3.Value & "','" & txt4.Value & "'," & IIf(txt5.Value="","null","'" & txt5.Value & "'") & ");" 
+1

고맙습니다. 나는 이틀 동안이 작품을 얻으려고 노력해 왔습니다 ... 제 질문을 읽으신 것은 행운이었습니다 ... 건배! :) – Danny

+0

괜찮습니다! 다행히 도와 줬어! –