我有一個數據庫,參與者回答3個調查(1,2和3),我試圖創建一個表格來確定哪些調查已完成(如果有的話)爲特定參與者(ID),然後禁用現有記錄的按鈕(添加調查1,添加調查2和添加調查3)。如果存在記錄啓用控制
表格鏈接到的表格(Surveys)具有字段ID和Survey_Number(1到3)。在這裏,根據已輸入的調查數量,一名參與者(ID)可以有0到3個條目。
我目前的工作非常不正常:我使用了一個級聯Combobox方法,其中第二個Combobox用作臨時數組(我對此表示歉意 - 我不編碼)來保存ID值的Survey_Number (在第一個Combobox中)。
Private Sub Combo29_AfterUpdate()
Dim i As Integer
If Not IsNull(Me.Combo29) Then
If DCount("ID", "Surveys", "[ID] =" & Me.Combo29) > 0 Then
Combo2.RowSource = "SELECT Surveys.Survey_Number " & _
"FROM Surveys " & _
"WHERE Surveys.ID = " & Combo29.Value
Me.Combo2.Requery
i = 0
For i = 0 To (Me.Combo2.ListCount - 1)
Select Case Me.Combo2.ItemData(i)
Case "1"
Me!Command34.Enabled = False
Case "2"
Me!Command35.Enabled = False
Case "3"
Me!Command36.Enabled = False
End Select
i = i + 1
Next
Else
MsgBox "This is the first time this participant has responded"
Me!Command34.Enabled = True
Me!Command35.Enabled = True
Me!Command36.Enabled = True
Me.Combo2 = Me.Combo2.ItemData(0)
End If
End If
End Sub
這種運作良好,當沒有條目(允許所有的按鈕),但它不讀的ItemData(1)正確的時候有一些/一項調查存在即。如果輸入了1,2和3,則只有按鈕2和3被禁用。
太棒了 - 完美的作品!感謝您清理代碼,閱讀起來更容易。 – Giles