2013-03-20 35 views
0

我有一個表單,其中有一個組合框和4個複選框。我想從combobox和chechboxes中插入值,當它被檢查爲真,並且不是假時。VBA中的複選框值是/否

當我把檢查複選框應插入值是數據庫中,當我不把檢查將是沒有。

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 
+0

請添加有關問題本身... – 2013-03-20 07:06:13

+0

的一些信息,當我把檢查複選框應插入值是在數據庫中,當我不把檢查這將是NO – Sergio 2013-03-20 07:23:52

+0

多少複選框必須要填寫插入之前,只有1? – CustomX 2013-03-20 08:36:56

回答

1

您可以簡單地格式化YesNo(boolean)控件以獲取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 
+0

感謝您的幫助 – Sergio 2013-03-21 06:53:14

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

這個代碼我知道你不能使用代碼來所做的所有複選框或單選按鈕做同樣的事情添加到每一個複選框,原因。您必須使用複選框或單選按鈕自己的代碼,即使它是相同的

+0

其不好,我編譯並給出了錯誤的結果 – Sergio 2013-03-20 09:00:22

+0

什麼是錯誤的結果? 因爲我使用VB.net,所以也許會有一些錯誤。還有多少需要檢查才能得到YES值, – Kasnady 2013-03-20 09:01:49

+2

恐怕VB.Net根本不像VBA。 MS Access中的複選框將包含-1或0,從不爲1. – Fionnuala 2013-03-20 11:49:18