所以我让这段代码循环遍历表单中的每个控件,并根据它们的名称和值、文本或标题创建和更新 sql。
Dim sql as String
Dim ctr as Control
sql = "update table set "
For Each ctr In Me.Controls
If TypeOf ctr Is TextBox Then
If ctr.Container = "Carton Config data input" Then
sql = sql & ctr.name & " = " & "'" & ctr.Text & "',"
End If
ElseIf TypeOf ctr Is OptionButton Then
If ctr.Value = True Then
sql = sql & " status = '" & ctr.Caption & "',"
End If
ElseIf TypeOf ctr Is CheckBox Then
If ctr.Value = 1 Then
sql = sql & ctr.name = "'OK',"
ElseIf ctr.Value = 0 Then
sql = sql & ctr.name = "'',"
End If
End If
Next
之后,我当然添加了 where 条件,但现在没关系了。问题是当它到达一个复选框时,sql 的值将是“False”,我不知道为什么。字符串的长度应该没有问题,第一个复选框是第 4 个对象,所以字符串不会太长。此外,没有复选框部分,它就像一个魅力。那么有人可以帮助我吗?
提前致谢。