我有多个组合框,用户可以选择项目。如果没有选择任何项,我将NULL插入SQL-SERVER:
if cboSchool.text="" then
g_strSQL = g_strSQL & "NULL,"
else
g_strSQL = g_strSQL & "'" & cboschool.itemdata(cboschool.listindex) & "',"
End if
我的问题如下:稍后我允许用户编辑他们以前没有选择的信息。所以稍后当他们想要编辑信息时,我需要能够让应用程序意识到某个值或者(SQLSERVER)中的表中没有值,如果它与值不同则进行比较被选中了。如果信息不同,则需要更新表格。这是我的代码寻找EDIT:
If g_RS!SchoolID <>cboSchool.ItemData(cboSchool.ListIndex)Then
g_strSQL2 = g_strSQL2 & " School ID = '" & cboSchool.ItemData (cboSchool.ListIndex) & "',"
End If
我看到的问题是g_RS!SCHOOLID显示为&#34; NULL&#34;但是它确实注意到该值与cboschool.itemdata不同,它只是跳到if语句的末尾。我不明白它是如何看到差异的。
答案 0 :(得分:0)
If Val("" & g_RS!SchoolID) <> cboSchool.ItemData(cboSchool.ListIndex) Then
答案 1 :(得分:0)
它是因为空值的,它没有看到差异。
你可以:
If g_RS!SchoolID <> "Hello world!" Then
g_strSQL2 = "DROP TABLE X"
Else
MsgBox ("g_RS!SchoolID = Hello world!")
End If
只要SchoolID为NULL,您就会收到一个消息框。
您可以通过以下方式解决此问题:
If Iif(IsNull(g_RS!SchoolID), "", g_RS!SchoolID) <> cboSchool.ItemData(cboSchool.ListIndex) Then
'do stuff
End If