![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
access フォームのテキストボックスにID(数字)を手入力し、
テーブルから情報を引き出すというのを作っています。
問題は、一度入力した数字を消した後(バックスペースキーやデリートキーや切り取り)、エンターキーを押すと
「バリアント型でない変数に Null 値を代入しようとしました」
と表示されてしまう点です。
業務上支障はありませんが、この表示を無くしたいのです。
このIDは常に5桁である必要がある為、
フォーム上では定型入力を”99999”としております。
テーブル上ではテキスト型としております。
どのようにすれば、解決できるでしょうか。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
3、そもそもエラーが発生する代入をスキップする。
Private Sub ID_AfterUpdate()
Dim lngID As Long
If Len(Me.ID & "") > 0 Then
lngID = Me.ID
MsgBox lngID
End If
End Sub
No.3
- 回答日時:
1、単にエラーを表示させない。
2、変数代入時にエラーを発生させない。
Private Sub ID_AfterUpdate()
On Error Resume Next
Dim lngID As Long
lngID = Me.ID
MsgBox lngID
End Sub
Private Sub ID_AfterUpdate()
Dim lngID As Long
lngID = Nz(Me.ID, 0)
If lngID <> 0 Then
MsgBox lngID
End If
End Sub
この回答への補足
皆様ご回答ありがとうございます。この場を借りて申し上げます。
しかし解決できませんでした。
皆さんがおっしゃるNz関数、If文は試しました。
しかし、それらのステートメントに至る前にエラーになっているようです。On Error Resume Nextに至る前のエラーのようです。
プロパティ→データ→既定値
で、既定値を”0”とすると例のエラー表示は無くなりましたが、
(当然ですが)IDを入力するテキストボックスはデフォルトで”0”が表示されます。
5桁での数字入力が必須の為、定型入力を”99999”とした所に起因しているように感じるのですが、どうにか解決できないでしょうか。
No.2
- 回答日時:
同じ状況をテストしました。
詳しい設定が分らないのですが、次のコードでは解決しませんか?
フォームの上でテキストボックス名を仮に TX1 とすると
フォーム→デザインで開く
そのテキストボックスのプロパティを開く
イベント→更新後処理をクリックして(イベントプロシージャ)にする
その右横のボックスをクリック
-----------------------------
Private Sub TX1_AfterUpdate()
End Sub
-----------------------------
と表示されるとおもうので、その間にエラー処理のコードを書きます
-----------------------------
Private Sub TX1_AfterUpdate()
If IsNull(TX1) Then
TX1 = "99999"
End If
End Sub
-----------------------------
この設定ではテキストが空になったとき、無理やり99999にすると
いう処理ですが、他にも方法はあります。
保存して閉じてフォームを実行すると
NULLになった時エラーメッセージが回避されていると思いますが?
もし違っていたら教えてください。
それと大きなプログラムの場合、設定がよけい悪くなると行けないので
データベースのコピーを使って試してみてください
この回答への補足
皆様ご回答ありがとうございます。この場を借りて申し上げます。
しかし解決できませんでした。
皆さんがおっしゃるNz関数、If文は試しました。
しかし、それらのステートメントに至る前にエラーになっているようです。
プロパティ→データ→既定値
で、既定値を”0”とすると例のエラー表示は無くなりましたが、
(当然ですが)IDを入力するテキストボックスはデフォルトで”0”が表示されます。
5桁での数字入力が必須の為、定型入力を”99999”とした所に起因しているように感じるのですが、どうにか解決できないでしょうか。
No.1
- 回答日時:
> テーブルから情報を引き出すというのを作っています
ここをどの様に作っているのか説明が無いと・・・
Nz 関数で括って、Nz(テイストボックス名," ") などとすれば良いかも?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(データベース) accessでのフォームの連携について 2 2022/06/14 00:45
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
ACCESS2007 フォーム 「バリアント型でない変数にNull値を代入しようとしました」エラーの
SQL Server
-
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
Access で項目にブランク(スペース)を入力出来ないのですが?
Word(ワード)
-
-
4
Accessのフィールド数が255しかない=業務では使えない?
PowerPoint(パワーポイント)
-
5
Accessで値がnullの場合は計算せずにnullをかえす方法
Access(アクセス)
-
6
Accessのテーブルのフィールドに式を入れる方法
Access(アクセス)
-
7
ACCESSでフォームを使って、テーブルを参照、データ入力、データ更新をしたいのです
Access(アクセス)
-
8
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
9
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
10
Access レコードを追加できません。テーブル’○○’の結合キーがレコードセットにありません。
Access(アクセス)
-
11
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
12
Accessの桁区切りについて教えてください。
Access(アクセス)
-
13
ACCESS フォームをそのまま印刷について
その他(データベース)
-
14
ACCESSでテーブルの一部だけを更新したい
Access(アクセス)
-
15
Access2000 フォーム表示位置が変わる
Word(ワード)
-
16
Accessで数値型にNULLをInsertするとエラー
その他(データベース)
-
17
Access VBAで int型にnullを入れる方法について
Windows Vista・XP
-
18
Access2002 フォームを閉じるたびに「このフォームの変更を保存しますか?」と表示される
その他(データベース)
-
19
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
-
20
アクセス エラーを数値「0」に変換するには
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでデータを更新したらそ...
-
前のレコードの値を自動で入れたい
-
access ダブリ登録を防止したい
-
インデックスまたは主キーにはn...
-
Accessでフォームに自動入力し...
-
access別のテーブルを参照して...
-
アクセスでコードを入れると名...
-
ACCESSでフォームのチェックボ...
-
「バリアント型でない変数に Nu...
-
ACCESS2000の帳票フォームでテ...
-
テキスト型のフィールドでハイ...
-
Accessフォームが入力できません。
-
Access サブフォームでの選択行...
-
エクセルで、抽出したデータだ...
-
未審査請求包袋抽出表作成とは...
-
ACCESSでVBAから選択クエリの抽...
-
ACCESS 複数のフォームから同一...
-
Accessで経過日付に応じて色を...
-
Accessクエリの抽出条件にフォ...
-
AccessでIDを入力したら他の項...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
前のレコードの値を自動で入れたい
-
access別のテーブルを参照して...
-
Accessでデータを更新したらそ...
-
Accessでフォームに自動入力し...
-
インデックスまたは主キーにはn...
-
入力した値をコンボボックスに...
-
Accessフォームが入力できません。
-
ACCESS フォームで入力データ...
-
アクセスでコードを入れると名...
-
access ダブリ登録を防止したい
-
ACCESSでフォームのチェックボ...
-
AccessVBAの値によっ...
-
テキスト型のフィールドでハイ...
-
ACCESS2000の帳票フォームでテ...
-
Accessのフォームでデータ入力...
-
Access2010 レコードの更新日付...
-
アクセスのフォームの必須項目...
-
ACCESSで定型入力の〒が表示さ...
-
「バリアント型でない変数に Nu...
-
Accessのフォーム入力をしても...
おすすめ情報