データベースの列をチェックしたい場合があります.Null 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
End Subの
残念ながら、このフィールドはNULL可能でデフォルト値はありません。また、NULL値は外部キーフィールドで問題ありません。たぶんそれは特定のデータベースでは当てはまらないかもしれませんが、MS SQLとOracleでは確かにOKです。 – Clyde