I have 3 radioButtons ("YES", "NO", "UNKNOWN") which matches a column from my database with 3 possible values (1, 0, NULL).
When the radioButton selected is "UNKNOWN" I want to insert a NULL value in this table (using Variant type). But when I try to run my SQL query with my ADODB connection, it returns an error.
Is there a trick to pass NULL values in my database ? Here's a copy of my code :
Public Function setCandidature(idC As Integer, idO As Integer, nomC As String, prenomC As String, nomM As String, prenomM As String, idRegion As Integer, idUM As Integer, idDUM As Integer, nni As String, emploiC As String, repM As Integer, repA As Integer, accDisp As Integer, precAcc1 As Integer, precAcc2 As Integer)
Dim sqlQuery As String
Dim rs As ADODB.Recordset
Dim repAVar As Variant, repMVar As Variant
Set connect = New ADODB.Connection
connect.Open connString
If repA = -1 Then
repAVar = Null
Else
repAVar = repA
End If
If repM = -1 Then
repMVar = Null
Else
repMVar = repM
End If
sqlQuery = "UPDATE candidatures SET offre_ID = " & idO & ", candidat_Nom = " & nomC & ", candidat_Prenom = " & prenomC & ", manager_Nom = " & nomM & ", manager_Prenom = " & prenomM & ", reponse_Manager = " & repMVar & ", reponse_Agent = " & repAVar & ", region_Candidat = " & idRegion & _
", um_Candidat = " & idUM & ", dum_Candidat = " & idDUM & ", nni_Candidat = " & nni & ", emploi_Candidat = " & emploiC & ", accompagnement_Dispense = " & accDisp & ", accompagnement_Precision_ID = " & precAcc1 & ", accompagnement2_Precision_ID = " & precAcc2 & _
" WHERE candidature_ID = " & idC & ";"
rs.Open sqlQuery, connect
End Function
I first pass the values that I want to be NULL as Integers containing -1.