... 더 이상의 항목이 나는 오류 선택"null의 하찮은 구문 오류 (쉼표) 쿼리 식에 "다음 코드 줄에 : intCountNull = DCount("*", "Scrubbed", strCriteria & " Is Null")
그건 의미가 있습니다. 목록 상자 선택 항목이 "field1", "field3"및 "field4"인 경우 DCount()
이 오류 # 3075를 반환합니다. "쿼리 표현식에서 구문 오류 (쉼표) 'field1, field3, field4가 NULL입니다.'"
DCount()
표현 이 SELECT 문처럼 평가 될 것입니다 :
SELECT Count(*)
FROM Scrubbed
WHERE field1,field3,field4 Is Null
그리고 DB 엔진은 확실히 그 WHERE
절에 대해 불평 할 것이다. 필드 이름 목록을 제공하고 목록 Is Null
을 요청할 수는 없습니다. 각각의 필드가 Is Null
인지 여부를 개별적으로 질문해야합니다.
왜 그런 오류가 발생했는지에 대한 설명입니다. 그러나, 나는 당신이 당신의 접근 방식을 바꿀 필요가 있다고 생각합니다.
선택한 항목을 반복하면서 Fields_Values
에 대한 RowSource
값 목록 문자열을 작성하십시오. (Fields_Values
에 대한 행 원본 유형 속성으로 값 목록이 있는지 확인하십시오.) 다음은 내가 원하는 것으로 보이는 테스트 샘플입니다. 사용자가도 Command29
List101
하지 않는 한 포함 선택한 항목을 클릭하도록 허용해야하는 이유
Private Sub Command29_Click()
Dim strCriteria As String
Dim intCountNull As Integer
Dim varItem As Variant
Dim strRowSource As String
Me.Fields_Values.RowSource = ""
For Each varItem In Me!List101.ItemsSelected
strCriteria = "[" & Me!List101.ItemData(varItem) & _
"] Is Null"
intCountNull = DCount("*", "Scrubbed", strCriteria)
'Debug.Print strCriteria, intCountNull '
strRowSource = strRowSource & ";" & intCountNull & _
" null values found in " & _
Me!List101.ItemData(varItem)
Next varItem
'Debug.Print strRowSource '
If Len(strRowSource) > 0 Then
strRowSource = Mid(strRowSource, 2)
Me.Fields_Values.RowSource = strRowSource
End If
'Debug.Print strRowSource '
End Sub
또한 내가 볼 수 없습니다. 선택이 이루어질 때까지
Command29
을 비활성화하는 것이 좋습니다.
Private Sub Form_Load()
Me.Command29.Enabled = False
End Sub
Private Sub List101_AfterUpdate()
Me.Command29.Enabled = (Me.List101.ItemsSelected.Count > 0)
End Sub
마지막으로, 나는 당신이 자신에게 당신의 컨트롤에게 의미있는 이름을 부여하여 부탁을 제안거야 ... Command29
는 cmdShowNullCounts
수와 List101
는 lstFieldNames
을 수 있습니다. 의미있는 이름은 수십 가지 컨트롤을 다룰 때 특히 유용합니다. 또한 몇 달 후에 양식 디자인을 다시 방문해야 할 때 도움이 될 것입니다. 미래에 인계해야하는 사람은 예의 바르게 평가할 것입니다.
무엇을 원하십니까? 그리고 각각의 기준 또는 각각에 대해? 또는 카운트를 분리해도됩니까? strCriteria를 작성하고 필요한 줄을 제공하도록 코드를 조정해야합니다. – Fionnuala
나는 선택한 각 항목에 대해 별도의 줄이 필요하고 별도의 계산이 필요합니다. – JenPhyllisB
그래서이'Fields_Values.RowSource'가 어떻게 작동하는 걸까요? – Fionnuala