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(パワーポイント)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
-
4
Access2000 サブフォームのRecordSet取得法
Access(アクセス)
-
5
新規レコード行を非表示にしたい
Access(アクセス)
-
6
AccessVBA SetFocusとGoToControlが正常に作動しない
Access(アクセス)
-
7
Access・VBAで、Controlsを使用した条件式(書き方)
Access(アクセス)
-
8
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
9
2つ目のレコードの値を取得するには?
Access(アクセス)
-
10
Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい
その他(Microsoft Office)
-
11
Access2002 フォームを閉じるたびに「このフォームの変更を保存しますか?」と表示される
その他(データベース)
-
12
どこにもフォーカスを当てたくない
Access(アクセス)
-
13
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
14
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
15
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
16
なぜエラーになるのでしょう?アクティブコントロール
その他(Microsoft Office)
-
17
Access2010 SetFocusが当たらない
その他(プログラミング・Web制作)
-
18
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
19
アクセスのフォームの幅の最大値はいくつでしょうか?
Access(アクセス)
-
20
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
VBAがブレークモードになっ...
-
ExcelVBA Range クラスの Page...
-
なぜこんな初歩的なVBAのIf文で...
-
プロシージャ名の取得
-
実行時エラー3001「引数が間違...
-
ASP.NET OleDbConnectionが定義...
-
OLEDB.NETで接続できない
-
VBAでのエラー
-
マクロについて教えてください...
-
EXCEL VBAマクロ中断でデバッグ...
-
マクロでオートシェイプ内の文...
-
デバッグ時はOK、デバッグ無し...
-
VB6+SQL サーバー 2000 で 実行...
-
Word起動時のエラー「実行時エ...
-
日本語環境下で作成したマクロ...
-
※初心者です マクロVBAについて
-
クラシックASPでのエラー処理に...
-
VBSで変数の宣言はできないので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
実行時エラー -'-2147417848
-
マクロについて教えてください...
-
VBAがブレークモードになっ...
-
なぜこんな初歩的なVBAのIf文で...
-
実行時エラー3001「引数が間違...
-
OLEDB.NETで接続できない
-
ExcelVBA Range クラスの Page...
-
EXCEL VBAマクロ中断でデバッグ...
-
ADODB.Streamを使用してUTF-8を...
-
VBS実行時エラー オブジェクト...
-
Outlook.ApplicationをCreateOb...
-
VBSで変数の宣言はできないので...
-
なぜエラーになるのでしょうか...
-
VB6+SQL サーバー 2000 で 実行...
-
VBAでのエラー
-
Application.ActiveInspectorで...
-
Excelで下記のようにマクロを作...
おすすめ情報