0

コンボボックスと 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
4

2 に答える 2

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
于 2013-03-20T11:48:28.360 に答える
0
If Me.Check2.VALUE = 1 Then
myval = "Yes"
Else
myval = "No"
END IF

このコードをすべてのチェックボックスに追加してください。コードを使用してすべてのチェックボックスまたはラジオボタンを同じようにすることはできないことがわかっているためです。同じであっても、チェックボックスまたはラジオボタンの独自のコードを使用する必要があります

于 2013-03-20T08:31:26.787 に答える