2017-07-21 15 views
0

何度もアップグレードされた非常に古いアクセスアプリを変更しています。 2003年に開始された可能性があります。私は2013年を実行しています。テーブルに追加したばかりの列をフィルタリングするようにクエリを変更しました。私のフォームも私のレポートも、変更されたクエリを使用していません。私はこれを知っている、私はテーブルに列を追加して、この列でフィルタリングするためにクエリを変更したためです。クエリは正常に実行されます。レポートとフォームは間違いなく古いクエリを使用しています。また、実際には選択したレポートに基づいてSQLを追加するVB6コードも使用しています。完全に新しいレポートを作成すると、新しいクエリが実行されます。私はすべての新しいレポートを作成したくありません。私はVB6も古いと知っていますが、この会社は失業しており、それはちょうどそのタイプの組織です。変更されたクエリを使用しない2013年のレポート/フォームへのアクセス

答えて

0

このトリックは、レポートが実行時にどこからデータを取得するのかを把握することになります。 SQLを変更するVB6コードがあると言うので、これは複雑になる可能性があります。

これは変更可能な方法がいくつかありますが、現時点での質問の情報では絞り込むことはできませんが、確認する場所がいくつかあります。

レポートのデータは、さまざまな方法で指定できます。

  • レポートのプロパティでデータソースとしてテーブルまたはクエリを選択できます。これが起きた場合は、クエリを変更した直後にレポートが変更されているはずです。そうではないかもしれません。
  • レポートは、そのプロパティを使用して定義された独自のクエリを持つことができます。これは、テーブルや他のクエリを使用し、特定のフィールドを選択してフィルタを適用するselect文です。
  • あなたは、クエリを変更するVB6の束があると言います。 (あなたはVB6で、VBAではないと確信していますか?多分問題はありません)。これはあなたが見る必要があるところで変更されます。

だから、私は何をしたいことは次のとおりです。

  • は、レポートのプロパティを見て、データソースが何であるかを見つけます。それが単なる照会名かSQLステートメントかどうかを確認してください。それがSQL文の場合は、ビルダーで起動し、変更したクエリが見つかるかどうかを確認するか、変更を再度適用して、それが機能するかどうかを確認します。

これでうまくいかない場合は、VBコードを調べる必要があります。このレポートのSQLを変更するコードを探します。ほとんどの場合、ユーザーがクリックしてコードを実行し、SQLを更新してレポートを起動するボタンがあります。いくつかのSQLが構築されていることがわかるまで、そこにブレークポイントを置き、SQLを変更する方法を検討してください。あなたは2つの戦略がありますほとんどの場合

  • VBのコードは、異なる基準に、漠然とクエリ内のSQLのように見える生のSQLを、構築します。したがって、変更されたクエリの変更されたSQLを使用して、VBで作成する必要がある変更をモデル化することができます。SQL
  • VBコードはSELECT * FROM [TheQuery] WHEREのような処理を行い、基準を追加するだけです。これはおそらくあなたの人生を楽にしますが、クエリを変更しても何も変化しないため、おそらく何が起こっているのでしょうか。
+0

十分に興味深いことに、私はレポートのプロパティシートからレコードソースを削除して、低く見て、まだ正しく実行されています...私はこれがレコードソースクエリが使用されていないことを伝えていると仮定しています。あなたはこの評価に同意しますか? – lesslag

+0

@lesslagはい、私は同意します。おそらく、レポートを起動する直前にコードに入力されている可能性があります。 – GregHNZ

+0

ありがとうございました! @GregHNZ – lesslag

関連する問題