
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
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
5
Accessでブレークポイントを設定してないのに一時停止してしまう
その他(データベース)
-
6
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
7
オープンしているレコードセットの中の最大値
その他(データベース)
-
8
ACCESSでクエリを作成したら「式が複雑すぎます。」の表記が…
その他(データベース)
-
9
AccessVBA SetFocusとGoToControlが正常に作動しない
Access(アクセス)
-
10
クエリ上でフィールド名が2つあるときの見分け方
Access(アクセス)
-
11
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
12
Accessでの全データから空白削除
Access(アクセス)
-
13
Accessのコンボボックスでリストが選択できない
Word(ワード)
-
14
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
15
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
16
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
17
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー -'-2147417848
-
なぜこんな初歩的なVBAのIf文で...
-
VBAがブレークモードになっ...
-
Excel VBA で End Subのところ...
-
実行時エラー 438になった時の...
-
Excelで=IFで始まるStringがセ...
-
Outlook.ApplicationをCreateOb...
-
マクロについて教えてください...
-
excel エラー値を非表示にした...
-
VBAで、定数式が必要ですのエラ...
-
ExcelVBA Range クラスの Page...
-
AccessのクエリーでDate関数の...
-
なぜエラーになるのでしょうか...
-
日本語環境下で作成したマクロ...
-
テキストボックスに記述した数...
-
「Active Directoryプロパティ...
-
マクロでオートシェイプ内の文...
-
VB6 エラー「プロシージャの呼...
-
VBS実行時エラー オブジェクト...
-
excel2016では問題ないのがexce...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
なぜこんな初歩的なVBAのIf文で...
-
ExcelVBA Range クラスの Page...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー -'-2147417848
-
【Excel VBA】マクロをボタンに...
-
Outlook.ApplicationをCreateOb...
-
VBAでのエラー
-
マクロについて教えてください...
-
実行時エラー3001「引数が間違...
-
実行時エラー48発生時のDLL特定...
-
VB6+SQL サーバー 2000 で 実行...
-
エクセルエラー13型が一致しま...
-
VBS実行時エラー オブジェクト...
-
ADODB.Streamを使用してUTF-8を...
-
INSERT INTOステートメント構文...
-
VBAで、定数式が必要ですのエラ...
-
OLEDB.NETで接続できない
-
VBSで変数の宣言はできないので...
おすすめ情報