두 가지 관련 질문이 있습니다. 먼저, 쿼리 결과 값을 텍스트 상자에 어떻게 할당합니까?MS Access의 텍스트 상자에 쿼리 결과 할당
여기에 내가, 현재 버튼의 클릭 이벤트에 할당 한 코드입니다 :
Private Sub SeatCount_Click()
Dim db As Database
Dim qdf As QueryDef
Dim sql As String
Dim rs As Recordset
sql = "SELECT Count([Switch Port Matrix].[End Device Type]) AS [CountOfEnd Device Type] FROM [Switch Port Matrix] WHERE ((([Switch Port Matrix].[End Device Type])=""Seat"" Or ([Switch Port Matrix].[End Device Type])=""6AB"") AND (([Switch Port Matrix].Enabled)=1)) GROUP BY [Switch Port Matrix].[Switch Name] HAVING ((([Switch Port Matrix].[Switch Name]) Like """ & Me![Switch Name] & """))"
Set db = CurrentDb()
With db
On Error Resume Next
.QueryDefs.Delete "SeatCount"
Set qdf = .CreateQueryDef("SeatCount", sql)
DoCmd.OpenQuery "SeatCount"
.QueryDefs.Delete "SeatCount"
End With
db.Close
qdf.Close
End Sub
이 작동하지만 쿼리를 열고 데이터 시트에 결과를 표시합니다. 내가하고 싶은 건 버튼을 클릭하고 데이터 시트를 보는 것보다 폼의 텍스트 상자에 결과를 표시하는 것이다. 첫째, 쿼리를 실행하여 데이터 시트를 열지 않고 결과를 문자열로 검색하려면 어떻게해야합니까? 내가 웹에서 찾은 것은 내가 작성한대로 쿼리를 실행하는 것보다는 dlookup을 사용하는 것을 가리키는 것 같다. 그러나 dlookup은 간단한 쿼리를 실행하는 데 적합하고 내가 찾은 것을 발견하지 못했다. 카운트 및 그룹 비와 같은보다 복잡한 요구 사항을 추가하십시오.
둘째, 양식을 열 때 쿼리를 어떻게 실행합니까? 이벤트에서 실행되도록 트리거하려고한다고 가정하지만 텍스트 상자의 속성에서 사용 가능한 적절한 이벤트가없는 것 같습니다.
저는 네트워크 엔지니어이기 때문에 프로그래머 나 데이터베이스 분석가가 아니지만 필자는 이러한 모든 종류의 작업이 무릎에 쏟아져 나오는 것을 충분히 배웠습니다. 누군가가 어려움을 겪고있는 기술자를 도울 수 있다면, 나는 그것을 고맙게 생각할 것입니다. 당신은 직접이 문 텍스트 상자의 컨트롤 소스를 설정할 수 있습니다
=DCount("End Device Type","Switch Port Matrix","[End Device Type] IN ('Seat','6AB') AND [Enabled]=1 AND [Switch Name] = '" & [Switch Name] & "'")
:이 경우