2016-12-08 1 views
0

Navigationフォームを含むAccessデータベースを構築しました。フォームの1つにコンボボックスとコマンドボタンがあり、クリックするとコンボボックスの値に基づいてフィルタされたレポートが開きます。問題が発生しているクエリのやや簡略化されたバージョンです:ナビゲーションサブフォームのコントロールを使用したクエリパラメータのクエリ

SELECT * 
FROM tbl 
WHERE site Like "*" & [Forms]![NavigationForm]![NavigationSubform].[Form]![comboBox] & "*"; 

今日までは正常に機能していました。ここで、ボタンをクリックすると、上記のパラメータ([Forms]![NavigationForm]![NavigationSubform]。[Form]![comboBox])に値を入力するための入力ボックスが表示されます。実際に私は分割データベースのフロントエンドで作業しており、データベースのコピーは正常に動作し、条件は完全に同じです。コンボボックスの名前は変更されていません。私は実際には、ナビゲーションサブフォームのすべてのコントロールでこの問題が発生しています。 VBAコードで問題が発生すると、Me.comboBoxに変更することができますが、これはクエリパラメータでは機能しません。

これはデータベースのコピー上で動作していますが(私は再作成したくない他のフォームには変更を加えていませんが)、このページではないので、問題が何か根本的にこのコピーに間違っています。何が間違っていたかを知る方法はありますか?またはこの問題を回避する方法はありますか?

+0

こんにちは、ボタンのコードを追加できますか? – Lybren

+0

この場合、VBAコードは実際には使用されていません。レポートを開く埋め込みマクロだけです。レポートが基づいているクエリは何が失敗しているのですか?私は完全なクエリ(簡略化されたバージョン)を含めるように上に更新しました – rgoetz

答えて

0

私はナビゲーションフォームの名前を変更しましたが、今はすべて動作しています。先のフォーム名が正常に機能して以来、なぜそれが違いを生み出したのか、私はまだ分かりませんが、うまくいく限り、私は満足しています。

0

マクロを使用しているので、開かれている参照が少しオフになっています。
あなたが説明している限り、あなたはナビゲーションフォームを持っています、そして、その中には正しく値をリンクしていないコンボボックスを持っているナビゲーションサブフォームがあります。
コントロールが存在しないか、見つからないため、値を自分で入力する必要があることを意味します。
私のテストでは、openreportを使ってこのマクロを参照することができました。
enter image description here
テキストを使用してコンボで書かれたものを取得し、値を使用して非表示の列を使用する場合は基になるコードを取得します。

EDIT:

whereステートメントに余分なフォームサブクラスがあります。

SELECT * 
FROM tbl 
WHERE site Like "*" & [Forms]![NavigationForm]![NavigationSubform]![comboBox].Text & "*"; 
+0

まだ何も - その行をマクロに追加しても、値。上記のように、この正確なクエリ/コンボボックス/ボタン/マクロの組み合わせは、古いバージョンのデータベースフロントエンドでは問題なく動作しています。 – rgoetz

+0

これで、問題の100%がクエリのSQLにあることがわかりました。レポートレコードソースクエリを含めます。 – Lybren

+0

これは上記のクエリです。 – rgoetz

関連する問題