こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

どうしたらエラーが消えますか?
下記に書いたところを実行すると、
「フィールドに必要なプロパティが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

投稿日時 - 2008-11-11 13:47:29

QNo.4470137

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

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

投稿日時 - 2008-11-11 14:21:52

あなたにオススメの質問