映画のエンドロール観る派?観ない派?

フォームでコマンドボタン(複製)をクリックして、レコードの複製を作成し、同じテーブルに追加しているのですが、例えば項目の連絡事項がnullの時、複製すると、「実行時エラー94:nullの使い方が不正です」と表示されます。
値が入っているときは問題はないのですが。複製元がnullであっても、そのままnullのまま問題なく複製するには、下記の記述をどうすればいいのでしょうか?

Private Sub 複製_Click()

Dim bikou As String
Dim renraku As String

'カレントレコードの値を取得
bikou = Me!備考.Value
renraku=Me!連絡事項.value

'新規レコードに移動
DoCmd.GoToRecord , , acNewRec

'各コントロールに値を代入

Me!備考.Value = bikou
Me!連絡事項.Value =renraku
End Sub

A 回答 (4件)

レコードを確定させるために、



Private Sub 複製_Click()
Dim bikou As String
Dim renraku As String

'カレントレコードの値を取得
bikou = Nz(Me!備考)
renraku = Nz(Me!連絡事項)

'新規レコードに移動
DoCmd.GoToRecord , , acNewRec

'各コントロールに値を代入
If bikou <> "" Then
Me!備考 = bikou
End If
If renraku <> "" Then
Me!連絡事項 = renraku
End If
DoCmd.RunCommand acCmdSaveRecord
End Sub

のように、末尾に
DoCmd.RunCommand acCmdSaveRecord
をいれておきます。
    • good
    • 0
この回答へのお礼

できました!過日もお世話になりました。
二度も教えていただきありがとうございました。

お礼日時:2011/08/08 15:21

piroin654 さんの方法だと、元のデータが "" (NullString)だったときに、


"" → NULL
へデータが変わってしまうのでは?

フラグ用の変数を別に用意するか、
変数の型を変えてしまうか。
    • good
    • 0

以下ではどうですか。



Private Sub 複製_Click()
Dim bikou As String
Dim renraku As String

'カレントレコードの値を取得
bikou = Nz(Me!備考)
renraku = Nz(Me!連絡事項)

'新規レコードに移動
DoCmd.GoToRecord , , acNewRec

'各コントロールに値を代入
If bikou <> "" Then
Me!備考 = bikou
End If
If renraku <> "" Then
Me!連絡事項 = renraku
End If
End Sub
    • good
    • 0

コピー先の該当フィールドでnullを許せばok

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報