したがって、このコードを使用して、フォーム内の各コントロールをループし、名前と値、テキスト、またはキャプションに基づいて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番目のオブジェクトであるため、文字列は長すぎません。また、チェックボックス部分がないので、チャームのように機能します。だから誰かが私を助けることができますか?
前もって感謝します。