• 締切済み

どうしたら解消されますか?

どうしたらエラーが消えますか? 下記に書いたところを実行すると、 「フィールドに必要なプロパティがTrueに設定されているため、このフィールド'作業実績テーブル.期間'には Null値は挿入できません。値を入力してください。」 と表示されます。 フォームには関数を使い、数値が表示されるようになっています。 また、テーブルの"期間"のプロパティの値要求の設定を「いいえ」に設定すると、 登録はできました。しかし、なぜか期間と作成日が空白となる行と、記入された行の2つの行が作成されています。 どうすれば、解決できますか? ちなみに使用しているのはAccess2000です。 Private Sub 登録_コマンド_Click() If IsNull(Me.開始日) Or IsNull(Me.終了日) Or IsNull(Me.期間) Or IsNull(Me.社名) Or IsNull(Me.略名) Or IsNull(Me.業務内容) Then MsgBox ("必要な項目が記入されていません") Else Dim strSQL As String Dim Itm As Variant strSQL = "INSERT INTO 作業実績テーブル(社員コード,開始日,終了日,期間,社名,略名,業務内容,機種,言語コード,OSコード,データベースコード,役割コード,技術取得内容,アピール,作成日) " _ & " VALUES ('" & Me.社員コード & "','" & Me.開始日 & "','" & Me.終了日 & "','" & Me.期間 _ & "','" & Me.社名 & "','" & Me.略名 & "','" & Me.業務内容 & "','" & Me.機種 _ & "','" & Me.言語コード & "','" & Me.OSコード & "','" & Me.データベースコード _ & "','" & Me.役割コード & "','" & Me.技術取得内容 & "','" & Me.アピール & "',now());" DoCmd.RunSQL strSQL For Each Itm In Me.作業内容コード.ItemsSelected Dim strSQL2 As String strSQL2 = "INSERT INTO 作業内容登録テーブル(社員コード,開始日,終了日,作業内容コード,作成日) " _ & " VALUES ('" & Me.社員コード & "','" & Me.開始日 & "','" & Me.終了日 & "','" & Itm & "',now());" DoCmd.RunSQL strSQL2 Next End If End Sub

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

Nullと空文字列("")は異なります。 空文字列はNullではないので、IsNull関数の戻り値はFalseです。 IsNull(Me.開始日) Or Trim(Me.開始日) = "" ・・・ 上記のように、条件式を変更してみてください。

関連するQ&A