我有这张桌子和这段代码
CAMPO10。 CAMPO12
1 01012018
2 01012018
1 05012018
2-
110012018
2 10012018
strSQL = "SELECT * from MESERIFERIMENTO;"
rs.Open strSQL, cnn, 3, 3
Do While Not rs.EOF
If rs("Campo10") = 1 Then
campo4 = rs("Campo10")
campo5 = rs("Campo12")
End If
If rs("Campo10") = "2" And IsNull(rs.Fields("Campo12").Value) Then
MsgBox "Has nulls"
strSQL = "Update MESERIFERIMENTO SET [Campo12] ='" & campo5 & "' ;"
DoCmd.RunSQL strSQL
End If
rs.MoveNext
Loop
rs.Close
谢谢
答案 0 :(得分:0)
赞:
strSQL = "SELECT * from MESERIFERIMENTO;"
rs.Open strSQL, cnn, 3, 3
Do While Not rs.EOF
If rs("Campo10").Value = 1 Then
campo5 = rs("Campo12")
End If
If rs("Campo10").Value = 2 And IsNull(rs.Fields("Campo12").Value) Then
MsgBox "Has nulls"
rs("Campo12").Value = campo5
rs.Update
End If
rs.MoveNext
Loop
rs.Close
答案 1 :(得分:0)
如果不期望0,则可以在查询中使用Nz函数将空值转换为0。
strSQL = "SELECT Campo10, Nz(Campo12,0) from MESERIFERIMENTO;"
rs.Open strSQL, cnn, 3, 3
Do While Not rs.EOF
If rs("Campo10") = 1 Then
campo4 = rs("Campo10")
campo5 = rs("Campo12")
End If
If rs("Campo10") = "2" And rs("Campo12")=0 Then
MsgBox "Has nulls"
strSQL = "Update MESERIFERIMENTO SET [Campo12] ='" & campo5 & "' ;"
DoCmd.RunSQL strSQL
End If
rs.MoveNext
Loop
rs.Close