ブレークポイントで止まらず、完了してしまう理由は何でしょうか?

このQ&Aのポイント
  • Windows XP SP2とAccess 2000の環境で、ブレークポイントを設定しても止まらずに処理が完了してしまいます。
  • ブレークポイントを設定した行に到達しても、挙動がおかしくなってしまい、処理が続行されてしまいます。
  • ステップイン[F8]を実行してもブレークポイントで止まらず、コードの実行が完了してしまう現象が発生します。
回答を見る
  • ベストアンサー

ブレークポイントで止らない

下記のソースでaaaをウォッチウィンドウで内容確認したいです。 aaa = "2"の行にブレークポイントを設定し、ステップイン[F8]しました。 ブレークポイントで止らず完了してしましました。 何故でしょうか。どなたか教えて下さい>< 環境はwindows xp sp2,access2000です。 Sub test()     dim aaa    aaa = "1" Debug.Print aaa aaa = "2" Debug.Print aaa aaa = "3"   Debug.Print aaa End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • gatyan
  • ベストアンサー率41% (160/385)
回答No.1

手元にAccessがないので未確認 データベースの起動時の設定で、詳細みたいなボタンを押して出てくる追加の設定で、ショートカットキーを有効にしないとブレークポイントで止まらなかった・・・はず

ton_jiru
質問者

お礼

なるほど、何かの設定ですか。 ちなみにExcelVBAではうまくいくんですよね。

その他の回答 (1)

  • miyuyu
  • ベストアンサー率61% (30/49)
回答No.2

> aaa = "2"の行にブレークポイントを設定し、ステップイン[F8]しました。 > ブレークポイントで止らず完了してしましました。 こんにちは。 ステップインしたのであれば、1行毎にステップ実行していくはずですよね。 > Debug.Print aaa まで動いて突然完了してしまうのでしょうか。 イミディエイトにはどこまでaaaの値が表示されていますか。 F8押下の時、キャレットはプロシージャ内に有りますか。 キーボードいかれていませんか。

関連するQ&A

  • Variant型で宣言してるのにEmptyになる

    エクセルVBA2003について質問です。 Sub aaa1() Dim a As Variant Debug.Print TypeName(a) End Sub を実行してイミディエイトウインドウで確認すると Emptyが返ってきます。 Variantが返ってこない理由は何でしょうか? また、変数の方の宣言をしない場合は Variant型になるはずなのに Sub aaa2() Dim a Debug.Print TypeName(a) End Sub を実行すると、同じくEmptyが返ってきます。 Variantが返らない理由を教えてください。よろしくお願いします。

  • Shをウォッチウインドウに登録して値を確認した時

    vbaの事でよくわからないので教えてください。 エクセルなのですが Private Sub Workbook_NewSheet(ByVal Sh As Object) Debug.Print Sh.Name End Sub で、 End Subの所にブレークポイントを設置して Shをウォッチウインドウに登録して値を確認した時、値に何も入ってないのですがなぜですか? Debug.Print Sh.Name した時にシート名は取得されるのだから値は入ってるべきだと思うのですが 画像のように「変数なし」となります。

  • イミディエイトウインドウの活用方法

    イミディエイトウインドウに 「?len("aaa")」と入力しエンターキーを押すと 実行され「3」と表示されることがわかったのですが こういうことはどういう場合に使うのでしょうか? Sub test() Debug.Print Len("aaa") End Sub と同じ意味ですよね? わざわざ標準モシ゛ュールに Sub test() Debug.Print Len("aaa") End Sub を書くのは面倒なときに イミディエイトウインドウで ?len("aaa") とすれば楽だ! という時に使うのでしょうか?

  • chrにする関数・数値を求めるには?

    Sub aaa() Debug.Print Chr(65) End Sub で、Aが返ってきますが、 AをChr()で表すとどのような数値になるかはどうすれば求められますか? Sub aaa() Debug.Print Chr("A") End Sub のような感じで、数値の65を返したいです。

  • Function

    Sub test1() Debug.Print 全角("aaa") End Sub Public Function 全角(mystr) mystr = StrConv(mystr, vbWide) End Function このVBAコードはどこがおかしいですか? 私の理想としては Public Function 全角(mystr) のmystrの中に半角の「aaa」が入り mystr = StrConv(mystr, vbWide) で全角の「aaa」になり その結果が Sub test1()に戻った時に Debug.Printに吐き出される予定だったのですが 何も表示されません。 関数(Function)を使うべきではないのでしょうか?

  • Accessでブレークポイントが効きません(泣

    こんにちわ。 まったく原因がわからず悩んでいます。。 環境は WindowsXP で Access2000 を使ってるのですが、 VBAでのデバッグでブレークポイントがまったく効かないのです。 (止まりません) ブレークポイントを設定はできて、ソースの左に●がでて行の色も変わります。 そのブレークポイントの行は確実に通っています。 (例えばダミーでMsgBoxを開くようにして、そのMsgBoxの行に ブレークポイントを設定すると、そのMsgBoxは開くのですが ブレークポイントとして処理が停止する事はありません。) それ以外の方法でも、確実にブレークポイントを通過している事は確認しました。 でもなぜか止まりません。 違うサイトにて同じような質問の回答で、『そういう場合は新しいMDBを作成し 中身をすべてインポートしてやれば止まる』というのを見つけたので その通りにしたら確かに止まるようになりました。 でも今回はその方法は事情により絶対できません。 ブレークポイントが反応しない原因として考えられる事はなんなのでしょうか? また、同じような経験をされた方で、原因は分からないけど こんな方法で解決した、というのがあれば是非教えてください。 よろしくお願いいたしますm(_ _)m

  • ブレークポイントは現在の設定ではヒットしません。

    初めて質問させて頂きます。 VB.net2005を使用しているのですが、 ブレークポイントを設定しても、 「ブレークポイントは現在の設定ではヒットしません。このドキュメントのシンボルが読み込まれません」 と表示され、ブレークポイントが使えません。 ・構成マネージャ→Debug ・クリーン→リビルド ・[元のバージョンと完全に一地するソースファイルを必要とする]をオフ は試したのですが、症状は変わらずです…。 以前は同じプログラムで普通にブレークポイントが使用できていたのですが 久しぶりにコードを編集しようと思ったときに上記のメッセージでデバッグが 出来ません。 「このドキュメントのシンボルが読み込まれません」が何のシンボルか分かれば 対処のヒントが得られると思うのですが…。 何か解決方法はありますでしょうか。

  • イミディエイトウインドウの最高表示数は199行?

    当方XP&Office2003です。 Sub test() Dim i As Long For i = 1 To 200 Debug.Print i Next i End Sub を実行すると、 2 3 ・ ・ ・ 200 と、表示され、最初の1が消えてしまいます。 イミディエイトウインドウでは、199行までしか表示できないのでしょうか? 私がoffice2003だからですか?

  • 変数を続けて宣言した場合はEmpty型になる?

    Sub test1() Dim Int1, Int2 As Long Debug.Print "---------- test1の実行結果 ----------" Debug.Print TypeName(Int1) Debug.Print TypeName(Int2) End Sub Sub test2() Dim Int1 As Long Dim Int2 As Long Debug.Print "---------- test2の実行結果 ----------" Debug.Print TypeName(Int1) Debug.Print TypeName(Int2) End Sub を実行すると、 ---------- test1の実行結果 ---------- Empty Long ---------- test2の実行結果 ---------- Long Long の結果が得られます。 test1のInt1がEmpty型になりますが、変数の型にEmptyはないですよね? どういうことなのでしょう???

  • デバッカーについて

    VB6のコードをステップインで実行しています。 ↓例で、Case1ではTemp変数に値が入っていることを確認しました。 次にCase1のブレークポイントを解除して、Case2のブレークポイントで止めます。 このときは、Temp変数に値が入っていませんでした。 Case1、Case2の間で値の書き換えはしていません。 対策を教えていただけないでしょうか? 宜しくお願い致します。 Dim Temp As String Private Sub test() As String  ・  ・  ・  ・ Temp = test() '<---"XXX"の値を入れます。 End Sub ’Case1、ここでブレークポイントを指定するケース If Temp="xxx" then 'Case2、ここでブレークポイントを指定するケース  ・  ・ End If