
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も見ています
-
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
Access VBAで int型にnullを入れる方法について
Windows Vista・XP
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
5
Access サブフォームでの選択行の取得
その他(データベース)
-
6
VBAのAccessでDATE型のINSERT
その他(データベース)
-
7
変数にnullを代入するには
Excel(エクセル)
-
8
Access2010 「演算子がありません」エラー
その他(データベース)
-
9
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
10
パラメータが少なすぎます。1を指定して下さい。""
Excel(エクセル)
-
11
Accessでテーブルからテーブルにデータをコピーしたい
その他(データベース)
-
12
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
-
13
データベースのINT型項目にNULLはNG?
MySQL
-
14
VBで使用するAccessのSQL(INSERT文)
その他(データベース)
-
15
アクセスVBAのMe!と[ ]
Access(アクセス)
-
16
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
17
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
18
Access2000 サブフォームのRecordSet取得法
Access(アクセス)
-
19
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
20
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Access テキスト型に対する指定...
-
Access2000のフォームのテキス...
-
エクセルグラフの凡例スペース
-
SQLでの並べ替えを数字の順番に...
-
2行目を表示できますか?
-
ワードで4段組みで文章を書い...
-
SQLでの変数の扱いについて
-
【マクロ】列を折りたたみ非表...
-
SELECT DISTINCT...
-
エクセルで離れたセルを範囲指定
-
複数のレコードを1つのレコード...
-
セルの右クリックで出る項目を...
-
他テーブルで一致する列から名...
-
BIOSでハードウェアの仮想化を...
-
ORACLE SQL 文末 文字列 削除の...
-
accessで最小公倍数を求める
-
datファイルからaccessにインポ...
-
Tabキーでの項目間の移動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】列を折りたたみ非表...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Oracle 2つのDate型の値の差を...
-
Access テキスト型に対する指定...
-
ワードで4段組みで文章を書い...
-
エクセルグラフの凡例スペース
-
access2000:フォームで入力し...
-
ORACLEでLONG項目からCHAR項目...
-
アリエクで買った商品が破損し...
-
SUBSTRING 関数に渡した長さの...
-
必須入力項目と入力必須項目
-
他テーブルで一致する列から名...
-
空白をそのままインポートする...
-
セルの右クリックで出る項目を...
-
VBAで複数の数式セルを最終行ま...
-
複数のレコードを1つのレコード...
-
SQL*Loaderでのゼロ埋め
-
Accessレポートで特定条件で改...
-
指定した項目の列削除
おすすめ情報