2016-06-17 10 views
1

メンテナンスログブックを作成してアクセスします。データ入力フォームをやり直さなければならなかったので、新しいデータベースで新しいフォームを作成し、古いフォームから新しいフォームに作業コードをコピーしました。そうすることで、一貫性を保つために、新しいフォームでいくつかのコンボボックスの名前を変更しました。問題は、コピーしたコードにコンボボックスの古い名前があり、その名前を新しい名前に変更できないということです。オートフィルを使用するときは新しい名前は表示されず、古い名前だけが表示されます。異なるデータベースのフォームからコピーされたコードを変更することはできません

例:古い形式では、コンボボックスの名前はactionCBでした。新しいフォームでは、ボックスにはActionCBという名前が付けられましたが、ここで書き込むコードはすべて古い名前を使用します。

答えて

2

コンパイルエラーが発生している可能性があります。アプリケーションをコンパイルしてエラーを修正してみてください。あるいは、これは、コードを同時に実行したときに起こる可能性があります(しかし、あなたの説明からはそれが疑わしい)?また、VBAは、ほとんどの場合、コードをステップ実行しながらコードを変更できるという点では美しいですが、時々節約できない変更を経験しました。

新しい質問のために変更されました。 コメントの下の2番目の質問については、フォームプロパティシートを使用して、フォームコントロールまたはレポートコントロールを表示および選択できます。プロパティシートの一番上にあるコンボボックスを見ると、すべてのフォームコントロールまたはレポートコントロールがリストされます。これらのオブジェクトは、コンボボックスから選択するだけで選択できます。 enter image description here

+1

@Anthony Griggsによると、Debug |コンパイルにはコンパイルエラーが表示されます - 通常、コードにエラーがあるとAutosenseは機能しなくなります – dbmitch

+0

コンパイルで2つのエラーが見つかりましたが、そのコードは無関係で、削除されたものから残っていました。しかし、問題は修正されませんでした。また、一貫性のために、新しいコントロール名を古いコントロール名に変更したくありません。オブジェクトブラウザ内にすべてのコントロール名がありますか?あれば、どのようにそれらを見つけるのですか?助けてくれてありがとう。 – jpl458

1

アクセスが敏感

「の例をケースではありません:古い形式で、コンボボックスの名前はactionCBたボックスがActionCBという名前 新しいフォームが、今私は用途を書く任意のコードで 旧名です。

"ActionCB"という名前が自動的に反映されるように更新していない場合は、おそらく使用できない場所で参照しようとしている可能性があります。これは、モジュールの先頭にOption Explicitステートメントがないと、エラーを生成しません。

これは、あなたが何をやっているかを知っていて、それをVariantデータ型に割り当てることを前提としています。

Option Explicitをすべてのモジュールの先頭に置き、デバッグ|すべてのエラーが修正されるまでコンパイルしてください。

+0

問題のモジュールabの上にOption Explicitを置き、それを前のモジュールの最後に置きます。私は再コンパイルしたときにエラーが発生しました。 "コメントだけが表示され、終了します。コードを挟んだフォームも削除しました。 – jpl458

+0

なぜ、"前のモジュールの最後に貼り付けましたか? "あなたのすべてのモジュールのトップにOption Optionを置く" – dbmitch

関連する問題