• ベストアンサー

ACCESS2007で異常な動作

ご覧下さりありがとうございます。 ACCESS2007が異常な動作をしており解決に苦慮していますのでぜひお知恵をお貸し下さい。 顧客向けに開発した販売管理システムがあります。 データベース形式はACCESS2000です。 以前、ACCESS2003で動作させていた時は正常に動いていたのですが、パソコンの故障によりOSをWINDOWS7に、ACCESSを2007に変更したら動作がおかしくなりました。 VBAで 変数 = フォーム上のコントロールの値 という事をしている行があるのですが、そのまま動作させると不思議ですがこの行を実行していないようなのです。 (変数の中身は NULLになっている) デバッガでそのステップの上下にブレークポイントを設置し、次のステップを実行で先に進めると変数に正しい値が入ります。 今まで一度も経験した事がない現象が起きてパニック状態になっています。 同じ事を経験された方、どのように解決したのかアドバイスをお願いします。

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

>フォーム名!テキストボックス1 これで本当に動いていたのでしょうか? 変数 = Forms!フォーム名!テキストボックス1.Value これが正しい構文ですけど・・・

kunisada
質問者

補足

回答ありがとうございます。 質問の都合上簡略化して記述しましたが、実際には Forms!フォーム名!テキストボックス1 と記述しています。(valueはなくても結果は同じだと思われます)

その他の回答 (2)

  • hasu2950
  • ベストアンサー率0% (0/1)
回答No.2

こんちは 同じ経験はありませんが、1回、VBの変数とフォームの部品を消して コンパイルして、再度作成してみてはどうでしょうか? まったく根拠はないですが・・・

kunisada
質問者

お礼

回答ありがとうございます。 フォームの部品を消してとなりますと事実上の作り直しを意味します。 今回はそれなりの規模のシステムですので作り直しは考えておりません。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

通常はその後で別の値を上書きしている例が多いのですが、 ステップ実行ではなく、Debug.Print分で、代入直後の 変数の値をイミディエイトウィンドウに表示してみては 如何でしょう。

kunisada
質問者

補足

回答ありがとうございます。 早速試してみました。 変数1 = フォーム名!テキストボックス1 debug.print 変数1 変数2 = フォーム名!テキストボックス2 debug.print 変数2 変数3 = フォーム名!テキストボックス3 debug.print 変数3 結果、やはりテキストボックスの値は代入されませんでした。 この処理の直前と直後にブレークポイントを設定し、再生ボタン(右向き△ボタン)で実行させると正しい値が代入されます。 原因が皆目見当がつかず、キツネにつままれたようです。

関連するQ&A

  • ECLIPSEでのTOMCATを使ったデバッグ

    こんにちわ。 現在開発でECLIPSEを使用しているのですが、 デバッガを使ってステップ実行をしたいのですが、 デバッガかブレークポイントにとまってくれません。 どうしたらよいのでしょうか? デバッガを使いたいときはTomcatを立ち上げて、デバッグを実行してブラウザから動作する。 と、この順番であってますか?? 開発を進めるためにどうしても必要なので みなさんどうかよろしくお願いします。

  • GDB デバッガでの変数の表示について

    変数の値の変化を調べるためにGDBデバッガを使っています。現在は、breakでポイントを設定して、disp iで表示する変数を決めてstepで一行ずつ手動で実行しています。 しかし、これを手動でやらなくてももっと簡単にできるのではないかという意見がでたので、自分でいろいろ調べてみたんですがなかなか見つかりませんでした。 変数の値が変化した時に停止とかならあるんですが、そうではなく変数の値が変化したら表示するみたいなことってできないでしょうか。 今は一行ずつstepでi=1、i=2・・・な感じで見ていますが、例えばrunで実行したらすぐにi=1、i=2・・・が全て表示されるようにできないでしょうか。分かりにくい気がしますが、よろしくお願いします。

  • eclipseでステップ実行がしたい

    eclipseでステップ実行がしたいんですが、どうすればいいんでしょうか? そもそも、ステップ実行=一段階ずつ動作を確認しながら実行する という認識でいいでしょうか? eclipseのデバッガを使ってみたんですが、ブレイクポイントにしか反応しませんよね? 一段階ずつ(あるいは一行ずつ)プログラムの処理を追っていけるような機能はないでしょうか?

    • ベストアンサー
    • Java
  • Accessでブレークポイントが効きません(泣

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

  • Accessエラー 複雑すぎるために評価できません

    お世話になります。 accessでクロス集計を実行させたところ、 以下のエラーが出ました。 「式が正しく入力されていないか、複雑すぎるために評価できません。 たとえば、数式に複雑な要素が多すぎます。 変数に式の一部を割り当て、式を簡単にしてください。」 --------------------- クエリは、 顧客(テキスト、行) 売上月(日付、列) 売上数(数字、値の合計) 売上月の値として、 BETWEEN [Forms]![フォーム1]![開始] AND [Forms]![フォーム1]![終了] クロス集計のプロパティには、 Forms![フォーム1]!開始 Forms![フォーム1]!終了 --------------------- なにか解決方法はありませんでしょうか。 よろしくお願いします。

  • ACCESS2003 でクエリの抽出条件に変数を代入したい。

    ACCESSVBAのLoopを使用して、Aテーブルのb列入っている値を1行ごとに取得し変数に入れます。その変数をクエリの条件に入れたいのですが、どのようにすればよいでしょうか? 1行目の値取得→変数に代入→クエリを実行→2行目に移動...最終行まできたら処理を終える という流れでお願いします。

  • NB.netでのステップ実行

    お世話になります。 現在VB.netでWebアプリ開発してます。 ステップ実行について質問なのですが、 1箇所ブレークポイントを設定しておいて デバック実行を行うとまずブレークポイントまでは 実行されますよね? その後F10またはF11で1行ずつステップ実行していくと うまく表示されるのですがF5でいきなり飛ばしてしまうと エラーが出てしまいます。 この違いって何が影響しているのでしょうか? 以下処理詳細 (1)PageLoadにてDB接続し、データを取得してきます。 (2)取得してきたデータをDropDownListの値に割り当てます (3)Web画面の表示 エラーが出るのは(2)の値の割り当ての箇所で内容は 割り当てるデータが存在しませんといった内容です。 もう一度いいますが1行ずつのステップ実行だと Web画面表示までうまくいきます。 以上よろしくお願いします。 環境:Windows2003Server    VisualStudio2008Pro    Framework2.0

  • Javaの無料デバックツール

    VSのようにステップ実行でき、ブレークポイントで止められて、変数値の確認、変更が簡単にできるものがいいです。 できましたら、Eclipse以外をご紹介していただけませんか?

    • ベストアンサー
    • Java
  • ACCESS2021に変えたら値が代入されない

    開いてくださりありがとうございます。 MS-ACCESS2003で開発した業務システムがあります。 今回、ACCESS2021(Microsoft365)に変更したところ、不可解な動作が生じていて非常に困っています。 以下に抜粋したコードを記載します。 -- Me!税抜合計 = Me!小計 Me!消費税 = Me!消費税計 Me!伝票合計 = Me!総額 -- 伝票入力フォームから伝票明細を入力し、その合計が表示されるテキストボックスの値を作業用のテキストボックスに代入しています。 ブレイクポイントで停止させて確認すると、右側の項目には間違いなく値が入っている(マウスポインターを合わせると例えば1000と表示される)のですが、左側の項目は0のままです。 この状況は伝票明細が5行以上の時に発生します。 (4行以下の伝票では発生しません) しかもACCESS2003では問題なく動作していました。 値が代入されないのは長く開発していて初めての現象です。 ぜひアドバイスをお願いします。

  • eclipseのデバッグ時のステップ実行が・・。

    eclipseのデバック時のステップ実行がおかしくなってしまいました。 現状としては、一応ブレイクポイントで止まってはいるのですが現在行の色がつきません。また、デバッグウィンドウの変数の中をみようとするとエラーがでてしまいます。 バージョンは3.1です。 関係ないかもしれませんが最近プラグインのJSeclipseを導入しました。 設定などわかるかたいましたらよろしくお願いします。

    • ベストアンサー
    • Java