AccessVBAで数値型にNULLをInsertするとエラー(3134)になりますが、
その項目は必須項目にはしたくないので、
Insertする前にNULLが飛んできます。
そういった場合は、NULLかどうか判定して明示的に0をセットしてからInsertする方法しかないでしょうか。
あくまで取扱う情報は数値なので、数値型にしたいのですが、
NULLの可能性もある場合はテキスト型にするのが一般的なのでしょうか。
何か良い方法がありましたら教えてください。
尚、まだDBにはテストデータしか入っていないので、テーブルの変更は問題ありません。
No.1
- 回答日時:
テーブルの定義で、
・ 「値要求」が「はい」になっていませんか?
・ 主キーにしていませんか?
この回答への補足
回答ありがとうございます
>テーブルの定義で、
> ・ 「値要求」が「はい」になっていませんか?
「いいえ」になっています
> ・ 主キーにしていませんか?
主キーにしていません
テーブル定義で規定値をNullにしても同じエラー(3134)が出ます
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で質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- MySQL 下の画像はSQLの4大命令の性質をまとめたものであるらしいです UPDATE INSERT DELE 1 2023/06/07 15:36
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
Access VBAで int型にnullを入れる方法について
Windows Vista・XP
-
5
accessの SQL文 INSERT命令
Access(アクセス)
-
6
Access サブフォームでの選択行の取得
その他(データベース)
-
7
VBで使用するAccessのSQL(INSERT文)
その他(データベース)
-
8
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
9
VBAのAccessでDATE型のINSERT
その他(データベース)
-
10
【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには
Access(アクセス)
-
11
ACCESS2007 VBA 「INSERT INTO~」について
PowerPoint(パワーポイント)
-
12
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
13
YES/NO型の値
Excel(エクセル)
-
14
変数にnullを代入するには
Excel(エクセル)
-
15
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
16
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
17
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
18
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
19
ACCESSでデータ読み取り専用を解除する方法
その他(データベース)
-
20
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
Oracle 2つのDate型の値の差を...
-
エクセルVBAで5行目からオート...
-
Access テキスト型に対する指定...
-
SUBSTRING 関数に渡した長さの...
-
空白をそのままインポートする...
-
他テーブルで一致する列から名...
-
エクセルグラフの凡例スペース
-
DBのタイプの指定とサイズにつ...
-
Joy To Keyのマウスやキーボー...
-
VBAで複数の数式セルを最終行ま...
-
ORACLEでLONG項目からCHAR項目...
-
アンドロイド おサイフケータイ...
-
2行目を表示できますか?
-
Accessで数値型にNULLをInsert...
-
ACCESSからORACLEへの移行について
-
Accessレポートで特定条件で改...
-
Accessのハイパーリンク...
-
jwwのクロスラインカーソルの角...
-
セルの右クリックで出る項目を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Oracle 2つのDate型の値の差を...
-
セルの右クリックで出る項目を...
-
Access テキスト型に対する指定...
-
SUBSTRING 関数に渡した長さの...
-
Accessで数値型にNULLをInsert...
-
APN設定について教えていただけ...
-
エクセルグラフの凡例スペース
-
ORACLEでLONG項目からCHAR項目...
-
複数のレコードを1つのレコード...
-
空白をそのままインポートする...
-
アンドロイド おサイフケータイ...
-
access2000:フォームで入力し...
-
VBAで複数の数式セルを最終行ま...
-
株に関する用語集
-
必須入力項目と入力必須項目
-
他テーブルで一致する列から名...
-
BIOSでAHCIに設定したいが、項...
-
datファイルからaccessにインポ...
おすすめ情報