NULL 허용 컬럼에 Insert 시 VBA 코드 - Heeyoung-Ahn/Excel_VBA GitHub Wiki

구조체

Type t_regular_expense '//financial_db.v_regular_expense
    payment_id As Long
    payment_nm As String
End Type
  • 두 컬럼 모두 NULL값 허용

엑셀의 UserForm의 데이터를 구조체로 반환

If cbo_PM.ListIndex = -1 Then
    argData.payment_id = 0
    argData.payment_nm = "NULL"
Else
    argData.payment_id = cbo_PM.Column(0, cbo_PM.ListIndex)
    argData.payment_nm = cbo_PM.Column(2, cbo_PM.ListIndex)
End If

구조체의 데이터를 Insert SQL문 작성

strSQL = "INSERT INTO financial_db.regular_expense(payment_id,payment_nm) VALUES(" & _
         IIf(.payment_id = 0, "NULL", argData.payment_id) & ", " & _
         IIf(.payment_nm = "NULL", "NULL", SText(argData.payment_nm)) & ");"