0
因此,我已经得到了此代码来遍历表单中的每个控件,并根据它们的名称和值,文本或标题创建和更新sql。为vb6中的每个控件创建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
之后,我添加了当然的条件,但现在并不重要。 问题是当它到达复选框时,sql的值将是“False”,我不知道为什么。 字符串的长度不应该是个问题,第一个复选框是第四个对象,所以字符串不会太长。此外,没有复选框部分,它就像一个魅力。 那么有人可以帮助我吗?
在此先感谢。
你有没有考虑数据绑定? – MarkJ
这也是一个好主意。 让我们来看看......我有一个数据表与数据表中的一堆数据。当用户按下F2时,它将显示一个框架来编辑活动行的数据。 是否可以将控件设置为使用所选行?据我所知,我只能设置数据源和数据字段。那么我可以,如果我创建一个adodc对象,并修改它,每当用户打开这个表单,我猜。 – Joe88
只是一个次要的事情,我注意到这里: 'SQL = SQL&ctr.name& “=” & “ '” &ctr.Text& “',”' 您有一个额外的符号,并设置报价,你可以这样写: 'sql = sql&ctr.name&“='”&ctr.Text&“',”' –