
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
-
VBAのAccessでDATE型のINSERT
その他(データベース)
-
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
6
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
7
Access サブフォームでの選択行の取得
その他(データベース)
-
8
Access2010 「演算子がありません」エラー
その他(データベース)
-
9
Access2000 サブフォームのRecordSet取得法
Access(アクセス)
-
10
アクセスVBAのMe!と[ ]
Access(アクセス)
-
11
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
12
INSERT INTO ステートメントに認識できないフィールド
その他(データベース)
-
13
Access 複数フォームを開き、画面の最上面にしたいフォームをコント
その他(データベース)
-
14
データベースのINT型項目にNULLはNG?
MySQL
-
15
Accessのコンボボックスでリストが選択できない
Word(ワード)
-
16
access2021 強制終了してしまう
Access(アクセス)
-
17
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
18
VBで使用するAccessのSQL(INSERT文)
その他(データベース)
-
19
年月日を持つテーブルから年月を指定して抽出したいのですが
その他(データベース)
-
20
Accessのサブフォームから値を参照する方法について
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
Oracle 2つのDate型の値の差を...
-
保存された情報として表示され...
-
【至急】Accessのフィールドの...
-
VBAで複数の数式セルを最終行ま...
-
空白をそのままインポートする...
-
エクセルグラフの凡例スペース
-
エクセルVBAで5行目からオート...
-
SQLのSELECT文で*を使わない理由
-
Accessで数値型にNULLをInsert...
-
肥満体で彼女いない歴=年齢で...
-
2行目を表示できますか?
-
ピボットテーブルの行挿入
-
ORACLEでLONG項目からCHAR項目...
-
指定した項目の列削除
-
複数のレコードを1つのレコード...
-
エクセルVBAでフォームのListbo...
-
ituneには「最近追加した項目」...
-
SQLでの変数の扱いについて
-
DBのタイプの指定とサイズにつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
エクセルグラフの凡例スペース
-
Oracle 2つのDate型の値の差を...
-
Access テキスト型に対する指定...
-
ワードで4段組みで文章を書い...
-
SUBSTRING 関数に渡した長さの...
-
Accessレポートで特定条件で改...
-
【マクロ】列を折りたたみ非表...
-
access2000:フォームで入力し...
-
ORACLEでLONG項目からCHAR項目...
-
VBAで複数の数式セルを最終行ま...
-
エクセルマクロにて最終行まで...
-
複数のレコードを1つのレコード...
-
必須入力項目と入力必須項目
-
セルの右クリックで出る項目を...
-
datファイルからaccessにインポ...
-
Accessで数値型にNULLをInsert...
-
Access又はExcelで256項目を超...
-
ピボットテーブルでフィルター...
おすすめ情報