데이터베이스의 열을 확인하고 싶을 수 있습니다. Not Null로 설정되어 있고 기본값이 0 인 것처럼 들리므로 아무 것도 입력하지 않으면 0이 전송됩니다.
바인딩을 변경하지 않아서 공백 == Null이 여전히 외래 키 위반이 발생하므로 도움이 될 것입니다. 테이블에 올바른 값을 입력하는 외 부 키가 있습니다.
가장 좋은 해결책이 아닌 테이블을 변경하거나 (기본값과 외래 키를 제거해야 함) 폼 필드를 변경해야합니다. 아마도 콤보 또는 상관 관계가있는 목록 값으로 변경해야합니다 외래 키 테이블의 값으로. 또한 시도 할 수
Private Sub txtDataField_Change
Dim cDataField As String
Dim rsTmp as ADODB.Recordset
If txtDataField.Text = "" And Not txtDataField.DataSource Is Nothing Then
cDataField = txtDataField.DataField
txtDataField.DataField = ""
set rsTmp = txtDataField.DataSource
rsTmp.Fields(cDataField).Value = Null
set rsTmp = Nothing
txtDataField.DataField = cDataField
End If
최종 하위
아니요, 불행히도 필드는 NULL 가능하며 기본값이 없습니다. 또한 NULL 값은 외부 키 필드에서 문제가되지 않습니다. 어쩌면 특정 데이터베이스의 경우는 아니지만 MS SQL 및 Oracle에서는 확실히 정상입니다. – Clyde