VBA中的复选框值是/否

时间:2013-03-20 06:46:34

标签: vba access-vba

我有一个表格,我有一个组合框和4个复选框。我想从组合框和chechboxes中插入值,当检查它是真的时,它不是假的。

当我选中复选框时,应在数据库中插入值YES,当我不进行检查时,它将为NO。

Private Sub Command12_Click()
Dim strSQL As String
Dim rst As New ADODB.Recordset
Dim myval As String

If Me.Check2 Or Me.Check6 Or Me.Check8 Or Me.Check10 = -1 Then
myval = "Yes"
Else
myval = "No"

strSQL = "INSERT INTO Declaratie (Код_предр, Декларация, Данные_фирмы,   
Список_траспрота, Список_водителей) " & _
         " VALUES ('" & Me.НаимПредпр & "','" & Me.Check2 & "','" & Me.Check6 & "','" 
& Me.Check8 & "','" & Me.Check10 & "')"

Call AttServ(strSQL, rst) 'выполнение запроса
End If
End Sub

2 个答案:

答案 0 :(得分:1)

您可以简单地格式化YesNo(布尔)控件以获得“是”或“否”,但这可能不是一个好主意。您最好将YesNo存储在YesNo字段中,只需格式化表单以显示“是”或“否”。请注意,下面的代码不适用于YesNo数据类型,因为您正在存储文本。

Private Sub Command12_Click()
Dim strSQL As String
Dim rst As New ADODB.Recordset

    strSQL = "INSERT INTO Declaratie (Код_предр, Декларация, Данные_фирмы,   
    Список_траспрота, Список_водителей) " & _
             " VALUES ('" & Me.НаимПредпр & "','" _
             & Format(Me.Check2, "Yes/No") & "','" _
             & Format(Me.Check6, "Yes/No") & "','" 
             & Format(Me.Check8, "Yes/No") & "','" _
             & Format(Me.Check10, "Yes/No") & "')"

    Call AttServ(strSQL, rst) 'выполнение запроса
End Sub

答案 1 :(得分:0)

If Me.Check2.VALUE = 1 Then
myval = "Yes"
Else
myval = "No"
END IF

将此代码添加到每个复选框,因为我知道您无法使用代码使所有复选框或单选按钮执行相同的操作。您必须使用复选框或单选按钮自己的代码,即使它是相同的