태그 보관물: microsoft-access

microsoft-access

Access에서 Vb SQL 쿼리가 작동하지 않습니다. 고합니다. 지금까지

드롭 다운 메뉴에서 주어진 항목 아래에 항목 목록을 채우려 고합니다. 지금까지 나는 전체 테이블을 가져올 수 있습니다 :

여기에 드롭 다운 목록

그러나 나는 드롭 다운에서 선택한 그룹과 쿼리를 구문 분석 할 “WHERE”문에 적합하지 않습니다.

“WHERE”추가 할 때 빈 목록

이것은 작동하는 코드입니다.

Private Sub catBox_Change()
Dim SQL As String
SQL = "SELECT CatQuery.[Tool Name], CatQuery.Category " _
& "FROM CatQuery;"
Me.toolBox.RowSource = SQL
Me.toolBox.Requery
End Sub

이것은 작동하지 않는 코드입니다.

Private Sub catBox_Change()
Dim SQL As String
SQL = "SELECT CatQuery.[Tool Name], CatQuery.Category " _
& "FROM CatQuery" _
& "WHERE CatQuery.Category ='" & Me.toolBox.Column(0) & "';"
Me.toolBox.RowSource = SQL
Me.toolBox.Requery
End Sub



답변

SQL 문자열을 할당 한 후 확인 했습니까?

사이에 공백을 생략했습니다. FROM CatQueryWHERE...

시험:

SQL = "SELECT CatQuery.[Tool Name], CatQuery.Category" & vbNewLine & _
      "FROM CatQuery" & vbNewLine & _
      "WHERE CatQuery.Category = '" & Me.toolBox.Column(0) & "';"


답변

catbox_change 이벤트가 호출되면 toolbox 포커스가 없으므로 값이 없습니다.
컷 박스에서 값을 할당 할 수 있습니까?

Private Sub catBox_Change()
Dim SQL As String
SQL = "SELECT CatQuery.[Tool Name], CatQuery.Category " _
& "FROM CatQuery" _
& "WHERE CatQuery.Category ='" & Me.catBox.column(x) & "';"
Me.toolBox.RowSource = SQL
Me.toolBox.Requery
End Sub

그렇지 않다면 RowSource 다른 드롭 다운 목록에 할당 됨 toolBoxResult:

Private Sub catBox_Change()
Dim SQL As String
SQL = "SELECT CatQuery.[Tool Name], CatQuery.Category " _
& "FROM CatQuery" _
& "WHERE CatQuery.Category ='" & Me.toolBox.Column(0) & "';"
Me.toolBoxResult.RowSource = SQL
Me.toolBoxResult.Requery
End Sub


답변