2010-12-22 3 views
1

액세스 할 때 테이블에서 작동하도록 검색 양식을 구현하고 싶습니다.액세스 양식 검색

그러나 테이블을 선택한 다음 보낸 사람을 만들 때 검색 필드 대신 양식의 모든 테이블 데이터를 가져옵니다. 그리고 어떤 값을 변경하면 테이블 값이 변경됩니다. 나는 사용자가 검색 기준을 입력하고 검색 btn을 칠 수있는 텍스트 필드를 원합니다. 검색 결과는 양식의 테이블이나 메시지 상자로 나타납니다.

+0

[이게 어떤 용도로 사용합니까?] (http://www.allenbrowne.com/ser-62.html) –

답변

3

검색 후 양식에 데이터를 추가 할 수 있지만 물건을 깔끔하게 유지하려면 검색 상자와 결과의 하위 폼이있는 언 바운드 양식을 고려하는 것이 좋습니다. 우리가 두 박스의 txtName 및 txtDate로하고 검색 버튼을 있다고 가정 해 봅시다, 다음 매우 거친 아이디어가 실행됩니다 :

strSQL = "SELECT aName, aDate FROM aTable WHERE 1=1 " 

If Not IsNull(txtName) Then 
    strWHERE = " AND aName Like '*" & Replace(txtName,"'","''") & "*'" 
End If 

If Not IsNull(txtDate) Then 
    strWHERE = strWhere " AND aDate =#" & Format(txtdate,"yyyy/mm/dd") & "#" 
End If 

Me.SubformControlName.Form.RecordSource = strSQL & strWhere 

당신은 물론, 확인해야하는 분별하고 깨끗한의 컨트롤의 데이터 및 해당 레코드가 리턴됩니다.

0

당신은 열 때 검색 모드에서 양식을 넣어 같은 것을 사용할 수 있습니다

Private Sub Form_Open(Cancel As Integer) 
    'DoCmd.DoMenuItem acFormBar, acRecordsMenu, acFilterByForm, , acMenuVer70 
    DoCmd.RunCommand acCmdFilterByForm 
End Sub 
+0

DoMenuItem은 Access 2000 이후로 더 이상 사용되지 않을 것입니다. – Fionnuala

+0

@Remou : 맞습니다.하지만 대신 1 줄로 작업합니다 .... 어쨌든 내 대답을 수정했습니다. –

-1

나는 검색 폼 나는 그것이 매우 편리 사용할 것을 만들었습니다. 검색 할 양식을 설정하려면 검색어를 만들어야합니다. 예를 들어 내 양식에는 키워드 및 소스 필드가 있습니다. 따라서 쿼리를 데이터가있는 테이블에 연결해야합니다. 내가 가진 검색어는

SELECT KWTable.KW AS Expr1, KWTable.Code, KWTable.Source 
FROM KWTable 
WHERE (((KWTable.KW) Like "*" & [Forms]![Search_Form]![KW_Text] & "*") AND ((KWTable.Source)  Like "*" & [Forms]![Search_Form]![Source_Text] & "*")); 

상자에 단어를 입력하고 버튼을 클릭하여 실행합니다. 버튼 코드는 다음과 같습니다.

Private Sub Command8_Click() 
On Error GoTo Err_Command8_Click 

Dim stDocName As String 

stDocName = "Search_Query" 
DoCmd.OpenQuery stDocName, acNormal, acEdit 

Exit_Command8_Click: 
Exit Sub 

Err_Command8_Click: 
MsgBox Err.Description 
Resume Exit_Command8_Click 

End Sub 

이 정보가 도움이되기를 바랍니다.