검색 양식을 만들면서 하위 폼에서 검색 결과를 볼 수 없습니다. 쿼리가 제대로 실행되고 하위 폼 레코드 원본을 쿼리로 설정했습니다. 나는 어떤 오류도 가지지 않는다. 검색 버튼을 클릭하면 쿼리가 실행되고 레코드 선택기에서 하위 폼의 아래쪽에있는 행 수가 표시되지만 행은 볼 수 없습니다.양식에 대한 레코드 원본을 변경하려면 Access VBA를 사용하십시오.
Private Sub cmdSearch_Click()
Dim tableName As String
Dim colName As String
Dim keyword As String
Dim strSQL As String
tableName = Me.cmbTableNames.Value
colName = Me.cmbColumnNames.Value
keyword = Me.txtKeyword.Value
strSQL = "Select * from [" & [tableName] & "] where [" & [colName] & "] like '*" & [keyword] & "*';"
Debug.Print strSQL
Me.searchResultsForm.Visible = True
Forms![F_SearchForm]![searchResultsForm].Form.RecordSource = "Select * from [" & [tableName] & "] where [" & [colName] & "] like '*" & [keyword] & "*';"
Forms![F_SearchForm]![searchResultsForm].Form.Requery
End Sub
누군가가 내가 뭘 잘못 말해 줄 수 :
다음은 단추의 OnClick 이벤트에 대한 내 코드입니다.
이것은을 Debug.Print
위해 직접 실행 창에 표시 무엇감사
Select * from [dbo_Internal Contacts] where [First Name] like '*Amy*';
내 폼은 폼보기에서 다음과 같습니다
:
I 내 하위 양식 (약 35)에 일부 텍스트 상자를 추가했습니다. 이제 쿼리를 실행하면 양식이 다음과 같이 보입니다.
vba를 사용하여 하위 폼의 텍스트 상자를 레코드 소스의 열에 어떻게 연결할 수 있습니까?
도와주세요
네이티브 쿼리 작성기 및 디자인 모드 속성을 사용하여 폼의 레코드 원본을 설정하지 않는 이유가 있습니까? 코드에 SQL을 포함시키는 것은 나쁜 습관이며 디버깅을 더 어렵게 만듭니다. – Tim
@Tim 검색 양식을 만들려고하는데 테이블 이름과 열 이름은 사용자가 선택한 콤보 상자의 값입니다. 나는이 쿼리 (strSQL)를 그대로 사용하려고 시도했다. 하지만 액세스 쿼리를 저장하게하지 않습니다, 그것은 내게 tablename에 잘못된 브라케팅 오류를 제공합니다. 그게 내가 이쪽으로 가기로 결심 한 이유야. – ksagar
해당 코드를 쿼리에 붙여 넣을 수 없습니다. 쿼리 작성기의 디자인 모드에서 처음부터 시작한 다음 필요한 테이블을 선택하고 필요에 따라 필드 사이에 조인을 만듭니다. – Tim