- ベストアンサー
accessでのテーブルの複製について
- フォームでコマンドボタン(複製)をクリックして、レコードの複製を作成し、同じテーブルに追加しているのですが、例えば項目の連絡事項がnullの時、複製すると、「実行時エラー94:nullの使い方が不正です」と表示されます。値が入っているときは問題はないのですが。複製元がnullであっても、そのままnullのまま問題なく複製するには、下記の記述をどうすればいいのでしょうか?
- Accessにおいて、テーブルの複製を作成する際に、問題が発生しています。複製元のレコードの連絡事項がnullの場合、複製するとエラーが発生し、「実行時エラー94:nullの使い方が不正です」と表示されます。連絡事項がnullである場合でも、問題なく複製する方法を教えてください。
- Accessのフォームでテーブルの複製を作成していますが、連絡事項がnullの場合に複製するとエラーが発生します。nullである場合でも、エラーなく複製する方法を教えてください。
- みんなの回答 (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 をいれておきます。
その他の回答 (3)
- MARU4812
- ベストアンサー率43% (196/452)
piroin654 さんの方法だと、元のデータが "" (NullString)だったときに、 "" → NULL へデータが変わってしまうのでは? フラグ用の変数を別に用意するか、 変数の型を変えてしまうか。
- piroin654
- ベストアンサー率75% (692/917)
以下ではどうですか。 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
- angband
- ベストアンサー率51% (86/168)
コピー先の該当フィールドでnullを許せばok
お礼
できました!過日もお世話になりました。 二度も教えていただきありがとうございました。