
AccessVBAで数値型にNULLをInsertするとエラー(3134)になりますが、
その項目は必須項目にはしたくないので、
Insertする前にNULLが飛んできます。
そういった場合は、NULLかどうか判定して明示的に0をセットしてからInsertする方法しかないでしょうか。
あくまで取扱う情報は数値なので、数値型にしたいのですが、
NULLの可能性もある場合はテキスト型にするのが一般的なのでしょうか。
何か良い方法がありましたら教えてください。
尚、まだDBにはテストデータしか入っていないので、テーブルの変更は問題ありません。
No.2ベストアンサー
- 回答日時:
> AccessVBAで数値型にNULLをInsertするとエラー(3134)になりますが、
エラー(3134)は「構文エラー」ですから
テーブルの問題ではありません。
INSERT INTO テーブル ( テキスト項目, 数値項目 )
VALUES ('ABC', 100);
のようになるべきところ、
数値項目に代入する値が NULL のため
VALUES ('ABC', );
になっているためでしょう。
VALUES ('ABC', NULL);
になるように SQL を組み立ててください。
例)
Nz(Me.テキストボックス名,'Null')
とか,
あるいは、このような関数をかませるとか。
Function SQLNumber(Value As Variant) As String
If IsNumeric(Value) Then
SQLNumber = Value
Else
SQLNumber = "'Null'"
End If
End Function
標準モジュールで関数を用意してNullが飛んできたら明示的にNullをセットするようにしてエラーが出なくなりました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
先着1,000名様に1,000円分もらえる!
教えて!gooから感謝をこめて電子書籍1,000円分プレゼント
-
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
INSERT INTOステートメント構文エラーについての質問です
Visual Basic(VBA)
-
4
VBAのAccessでDATE型のINSERT
その他(データベース)
-
5
アクセスVBAのMe!と[ ]
Access(アクセス)
-
6
Access サブフォームでの選択行の取得
その他(データベース)
-
7
ACCESSでの改行コード
その他(データベース)
-
8
Access VBAで int型にnullを入れる方法について
Windows Vista・XP
-
9
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
10
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
11
抽出条件でデータ型が一致しません。のエラーメッセージが出る
Microsoft ASP
-
12
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
13
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
14
データベースのINT型項目にNULLはNG?
MySQL
-
15
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
16
「Nullの使い方が不正です」のエラー
Visual Basic(VBA)
-
17
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
18
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
19
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
20
VBとアクセスでSQL文に変数を使いたいのですが
Visual Basic(VBA)
関連するQ&A
- 1 ACCESSのSQLで、NULLかNULLでないかの判定
- 2 アクセスで数値型のフィールドにNullをいれたい
- 3 VBAのAccessでDATE型のINSERT
- 4 ACCESSでDLookUpすると、不正な値だというエラーになってしまう。
- 5 ACCESSのSQLで数値型に変換するには
- 6 アクセス通貨型or数値型について
- 7 ACCESS2000→ACCESS97に変換した際のエラー
- 8 AccessVBA 実行時エラー'2766'について質問です。
- 9 Access97 → Access2002 実行時に出るエラーについて
- 10 AccessのRunSQLのINSERTでの確認メッセージを消す方法。
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
access2000:フォームで入力し...
-
5
VBAで複数の数式セルを最終行ま...
-
6
エクセルマクロにて最終行まで...
-
7
複数のレコードを1つのレコード...
-
8
ORACLEでLONG項目からCHAR項目...
-
9
エクセルで離れたセルを範囲指定
-
10
ある講演を聴いての感想レポー...
-
11
BIOSでAHCIに設定したいが、項...
-
12
SQL*Loaderでのゼロ埋め
-
13
Accessの表形式のフォームについて
-
14
ORACLE SQL 文末 文字列 削除の...
-
15
SELECT文でLEFT関数を使うと未...
-
16
INSERT文(2)について
-
17
少数部の桁数の求め方
-
18
Accessレポートで特定条件で改...
-
19
第2正規化と第3正規化の違い
-
20
空白をそのままインポートする...
おすすめ情報