
Accessのフォームにて、
あるテキストボックスに入力した値を元に計算を
行い、別のテキストボックスに入れる
という処理を行っていますが、
その際、結果としては出るのですが、
以下のようなエラーメッセージがでて、
原因を探っていますが良く分からない状態です。
エラーメッセージ:
実行時エラー '2115'
"BeforeUpdate/更新前処理"プロパティまたは、
このフィールドの"ValidationRule/入力規制"プロパティ
にせっていしたマクロまたは関数のためにこのフィールドのデータを保存できません。
該当するテキストボックスのプロパティに
これら2箇所は一切何も指定していません。
また、エラーが発生しているにもかかわらず、
結果が出ているという点も腑に落ちません。
また、DoCmd.SetWarnings False
によるメッセージ表示抑制も試してみましたが、
効果がありません。
ソース:
TextBox1:結果出力先
TextBox2:このソースの呼び出し側(AfterUpdate)
wkVal1、wkVal2:Long型変数
BkMcnt:任意数(integer型:1~12の間)
BeforVal:任意数(Public,Long型)
(前略:BkMcntの算出)
TextBox1.SetFocus
If TextBox1.Text = "" Then
wkVal1 = 0
Else
wkVal1 = CLng(TextBox1.Text)
End If
TextBox2.SetFocus
If txtJis5.Text = "" Then
wkVal2 = 0
Else
wkVal2 = CLng(TextBox2.Text)
End If
AveKosu = (wkVal1 * BkMcnt) - BeforVal
AveKosu = AveKosu + wkVal2
AveKosu = Fix((AveKosu / BkMcnt) + 0.5)
sAveKosu = CStr(AveKosu)
TextBox1.SetFocus
TextBox1.Text = sAveKosu '←(*)
TextBox2.SetFocus
(*)エラー時のデバッグボタンで、
その原因とされている個所
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
TextBox1.SetFocus
TextBox1.Text = sAveKosu '←(*)
の部分で、
'TextBox1.SetFocus
TextBox1 = sAveKosu
にしてみたら直りませんか?
この回答への補足
> 'TextBox1.SetFocus
> TextBox1 = sAveKosu
この場合、
フォーカスがTextBox2に残ったままになってますので、
フォーカス位置が間違っているという
エラーになります。
Accessの場合は、値代入は、ExcelやVBと異なり、
フォーカス位置をシビアに判断してるようですので。
こちらで、失礼しますが、
自己解決いたしました。
修正個所:エラー発生個所
TextBox1.Text = sAveKosu
↓
TextBox1.Value = sAveKosu
以上のようにするとエラーが出ないようです。
お騒がせいたしました。
No.1
- 回答日時:
両方のテキストボックスのデータ型はあってるのでしょうか。
データ型は何ですか?この回答への補足
テキストボックスの書式、データ関連のプロパティは
特に指定していません。(デフォルトのまま)
定型入力、書式当は空白です。
よって、恐らくVariant型だろうとは思います。
コントロールの指定は行っていて、
テーブルのデータは数値です。
.Textプロパティで取得してた時点では、
文字列になってます。(""囲み)
なお、Access97 + Win98/Win2000です。
ExcelやVBでは類似処理は特に問題ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) ボールの動きがスムーズに動いてかつ目盛り線描画を維持するためには 4 2023/05/31 10:01
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 16:59
- その他(プログラミング・Web制作) Pythonによる物理の斜方投射の位置座標表示について 2 2023/06/05 12:46
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- その他(プログラミング・Web制作) Pythonでのかんたんな物理シミュレーションについての書籍 5 2023/06/02 07:37
このQ&Aを見た人はこんなQ&Aも見ています
-
性格悪い人が優勝
できるだけ性格悪い人になって回答をお願いします。
-
泣きながら食べたご飯の思い出
泣きながら食べたご飯の思い出を教えてください。
-
最速怪談選手権
できるだけ短い文章で怖がらせてください。
-
チョコミントアイス
得意ですか?不得意ですか?できれば理由も教えてください。
-
人生で一番お金がなかったとき
人生で一番お金がなかったときって、どんなときでしたか?
-
Accessの更新後処理で特定の条件を満たしている場合、フォーカスを移動させない方法
PowerPoint(パワーポイント)
-
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
6
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
7
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
8
クエリ上でフィールド名が2つあるときの見分け方
Access(アクセス)
-
9
オープンしているレコードセットの中の最大値
その他(データベース)
-
10
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
11
AccessVBA SetFocusとGoToControlが正常に作動しない
Access(アクセス)
-
12
Accessでブレークポイントを設定してないのに一時停止してしまう
その他(データベース)
-
13
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
14
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
15
ACCESSでクエリを作成したら「式が複雑すぎます。」の表記が…
その他(データベース)
-
16
Accessのフィールド数が255しかない=業務では使えない?
PowerPoint(パワーポイント)
-
17
Access:フォームプロパティ「ダーティー時」が使えない
Access(アクセス)
-
18
現在アクティブなタブのページ名を取得したい
Access(アクセス)
-
19
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
20
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAがブレークモードになっ...
-
ExcelVBA Range クラスの Page...
-
Outlook.ApplicationをCreateOb...
-
Invalid procedure call or arg...
-
Access2002 で Select Case文が...
-
マクロについて教えてください...
-
VB6 エラー「プロシージャの呼...
-
実行時エラー48発生時のDLL特定...
-
【エクセル】ハイパーリンク先...
-
Excel VBA ハイパーリンクの追...
-
VBA IEの操作 ClassNameでエラ...
-
ADODB.Streamを使用してUTF-8を...
-
エクセルVBAで以下のようなコー...
-
日本語環境下で作成したマクロ...
-
Excel VBA で、コードにて参照...
-
同じ関数名やメソッド名は変数...
-
VBA エラーと対策
-
EXCEL VBA シート追加時のエラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAがブレークモードになっ...
-
【Excel VBA】マクロをボタンに...
-
マクロについて教えてください...
-
ExcelVBA Range クラスの Page...
-
VBAでのエラー
-
エクセルエラー13型が一致しま...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー48発生時のDLL特定...
-
実行時エラー -'-2147417848
-
実行時エラー3001「引数が間違...
-
ExcelVBAで、ユーザー定義型は...
-
VBAのエラー発生場所をメッセー...
-
VBS実行時エラー オブジェクト...
-
Outlook.ApplicationをCreateOb...
-
なぜエラーになるのでしょうか...
-
VB6+SQL サーバー 2000 で 実行...
-
AccessVBAでExcelを起動し、罫...
-
VBAで、定数式が必要ですのエラ...
おすすめ情報