【问题标题】:Checkbox value in VBA yes/noVBA 中的复选框值是/否
【发布时间】:2013-03-20 06:46:33
【问题描述】:

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

当我勾选复选框时,应在数据库中插入值 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

【问题讨论】:

  • 请添加一些关于问题本身的信息...
  • 当我勾选复选框时,应在数据库中插入值 YES,当我不勾选时,它将为 NO
  • 在插入之前需要填写多少个复选框,只有1个?

标签: ms-access vba


【解决方案1】:

您可以简单地格式化 YesNo(布尔值)控件以获得 Yes 或 No,但这可能不是一个好主意。您最好将 YesNo 存储在 YesNo 字段中,并将表单格式化为显示 Yes 或 No。请注意,下面的代码不适用于 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

【讨论】:

    【解决方案2】:
    If Me.Check2.VALUE = 1 Then
    myval = "Yes"
    Else
    myval = "No"
    END IF
    

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

    【讨论】:

    • 什么是错误的结果?因为我使用的是 VB.net,所以可能会出错。以及需要检查多少才能获得 YES 值,
    • 恐怕VB.Net根本不像VBA。 MS Access 中的复选框将包含 -1 或 0,而不是 1。
    猜你喜欢
    • 2017-05-12
    • 2022-11-24
    • 2011-08-26
    • 2017-04-20
    • 2011-12-19
    • 2018-07-04
    • 1970-01-01
    • 2018-05-06
    相关资源
    最近更新 更多