2012-07-05 1 views
0

양식에 대한 오류 검사를 입력하려고합니다. 나는 사용자가 이름을 입력하게하고, 레코드에서 이름을 이미 사용하려고 시도하고 있는지 알려주고 싶다.Access 2010 양식을 통해 고유 레코드를 입력하려고 시도했습니다.

예 : Person 테이블에는 Fnames가 Jeff, Kyle, Darren 인 3 개의 레코드가 있습니다.

Fname Box Kyle에 추가 된 사람 양식에 입력 된 경우, after update 이벤트는 사용자에게이 이름이 청구되었음을 알리고 필드를 null로 통지합니다. Greg가 들어간 것처럼 어디에서 알림도 발생하지 않습니다.

필터링 된 검색어 목록의 텍스트 필드 값을 값과 비교하는 방법을 알지 못하고 Google 검색에 느슨한 관련 링크가 있습니다.

도움 주셔서 감사합니다.

답변

2

모든 fnames가 고유해야하는 경우 테이블에 고유 색인을 추가하십시오. 이렇게하면 중복을 방지 할 수 있습니다. 양식 오류 등록 정보를 사용하면 사용자 정의 오류를 제공 할 수 있습니다.

컨트롤의 Before Update 이벤트에 이름이 있는지 확인할 수도 있습니다.

이 예제에서 컨트롤과 필드는 모두 AText라고합니다. 일반적으로 컨트롤의 이름을 필드와 같지 않도록 변경해야합니다.

Private Sub AText_BeforeUpdate(Cancel As Integer) 
Dim IsOk As Boolean 

''One of the very few places where the .Text property is used 
sLookUp = Me.AText.Text 

IsOk = IsNull(DLookup("Atext", "Table1", "Atext='" & sLookUp & "'")) 

If Not IsOk Then 
    MsgBox "Found!" 
    Cancel = True 
End If 
End Sub 
관련 문제