이 코드는 작동하지 않습니다. 누구든지 나를 도울 수 있습니까?onLost focus 이벤트가 작동하지 않습니다. -ms access
Private Sub txtErrorComment_5_LostFocus()
If IsEmpty(Me.txtErrorComment_5) Then
MsgBox "Eh..! It cannot be Empty."
End If
End Sub
이 코드는 작동하지 않습니다. 누구든지 나를 도울 수 있습니까?onLost focus 이벤트가 작동하지 않습니다. -ms access
Private Sub txtErrorComment_5_LostFocus()
If IsEmpty(Me.txtErrorComment_5) Then
MsgBox "Eh..! It cannot be Empty."
End If
End Sub
txtErrorComment_5 아마 널입니다 - IsEmpty 함수를 실행할 때 False로 평가되는() - 예,이-않은 직관적이지만 널 비교할 때마다 결과가 false입니다.
는 다음과 같은 시도 :
Private Sub txtErrorComment_5_LostFocus()
If IsEmpty(Me.txtErrorComment_5) or IsNull(Me.txtErrorComment_5) Then
MsgBox "Eh..! It cannot be Empty."
End If
End Sub
또는 단지 :
Private Sub txtErrorComment_5_LostFocus()
If IsNull(Me.txtErrorComment_5) Then
MsgBox "Eh..! It cannot be Empty."
End If
End Sub
ISNULL은 널의
편집을 처리 할 수 데이비드-W-펜톤 @
가 올바른지.
Private Sub txtErrorComment_5_BeforeUpdate(Cancel As Integer)
If IsNull(Me.txtErrorComment_5) Then
MsgBox "Eh..! It cannot be Empty."
Cancel=true
End If
End Sub
나는 이미 이것을 시도했지만, 역시 작동하지 않았다. 실제로 내 양식에 확인란이 채워져 있으면이 텍스트 상자가 채워져 있어야합니다. 이 논리를 구현하는 다른 방법이 있습니까 ?? – user397316
IsEmpty()는 컨트롤에서 유용한 정보를 반환하지 않습니다. Variant 데이터 형식의 변수를 사용하는 경우에만 값입니다. –
@ David-W-Fenton : 컨트롤의 기본 속성은 Variant 형식입니다. Excel의 유사한 상황에서 IsEmpty()를 사용하여 편집되지 않은 셀을 확인합니다. Access에서 IsNull()을 사용합니다. 당신의 의견이 암시하는대로 영업 이익은 그다지 점수를 웃지 못했습니다. – phoog
이 txtErrorComment_5가 비어 있는지 여부를 감지하려면이 BeforeUpdate (안 LostFocus)을 수행하는 더 좋은 방법은, 그 값에 널 (null) 문자열을 연결하고, 조합 식의 문자 길이가 제로의 여부를 참조하십시오. 당신이 하나 이상의 공백 문자가 포함 된 경우 txtErrorComment_5가 빈 처리하려면
Private Sub txtErrorComment_5_LostFocus()
If Len(Me.txtErrorComment_5 & vbNullString) = 0 Then
MsgBox "Eh..! It cannot be Empty."
End If
End Sub
은 트림() 함수를 포함한다.
Private Sub txtErrorComment_5_LostFocus()
If Len(Trim(Me.txtErrorComment_5) & vbNullString) = 0 Then
MsgBox "Eh..! It cannot be Empty."
End If
End Sub
이 기술은 매우 장황합니다. null 및 길이가 0 인 문자열을 모두 확인해야하는 경우 간단한 IsNullOrEmpty() 함수를 작성하는 것이 좋습니다. 그러나 기본적으로 Access에서는 길이가 0 인 문자열을 허용하지 않으므로 기본 제공 IsNull() 함수가 일반적으로 적합합니다. – phoog
@phoog Access 2003과 2007에서 새 텍스트 필드를 만들 때 Zero Length 허용 속성은 Yes입니다. 해당 행동을 바꿀 수있는 방법이 있다면 공유하십시오. 각 새 텍스트 필드에 대해 해당 속성을 아니요로 변경하지 않아도됩니다. 감사. – HansUp
이상한. 아마도 내 기억이 잘못 됐을까요? 제작 작업을 위해 Access 테이블을 만들었으므로 오래되었습니다. 그래서 많은 관심을 기울이지 않았습니다. 지금 사용중인 컴퓨터에 액세스 권한이 없습니다. 나는 다음 번에 내가 컴퓨터에있을 때 그것을 확인하려고 노력할 것이다. – phoog
"Empty"는 Variant 유형의 초기화되지 않은 변수의 경우 VB (A)에서 특별한 값입니다. 그것은 당신이 생각하는 것을 의미하지는 않습니다. – RolandTumble
LostFocus가 이에 대한 잘못된 이벤트입니다. 대신 BeforeUpdate를 사용해야합니다. –
@ David-W-Fenton : 들어보세요. – phoog