パラメーターを要求するSQLクエリにアクセスする


1

17個のテーブルと約300MBのデータを含むAccess 2016データベースで作業しています。この上にいくつかのクエリとビューを作成する必要があります。クエリの性質とSQLに関する私のバックグラウンドのために、GUIを使用する代わりに、SQLビューでクエリを直接記述しています。

クエリを保存した後、たまにパラメータの入力を求められるようになります。ただし、SQLクエリに問題はありません。テキストをコピーして新しいクエリに貼り付けると、正常に機能します。

プロンプトが表示されているパラメーターも存在しません(通常、パラメーター名に「Query1」と列に割り当てた名前が含まれている場合があります)。なぜこれが起こっているのですか、どうすれば防ぐことができますか?一部のデータが古くなった場合に備えて、Accessファイル全体を保存および更新しようとしました。助けにはなりません。

編集:それは再び起こった。今回は、クエリに新しい列を追加しました(SQLエディター経由)。突然このポップアップが表示され始めました:

翻訳:パラメーター値の書き込み、Query1.Expression1001

変換:パラメーター値、Query1.Expression1001に書き込む


ライブデータベースで作業していますか?これらの変更を行っている間、他のユーザー/サービスはそれに接続していますか?マクロまたはVBscriptで一時テーブルを作成できますか?
ブルギ

私は.accdbファイルで直接作業しており、他のユーザーはそれに接続していません。一部のテーブルのデータを更新するために使用する別のスクリプトがあります。ただし、事前にファイル全体を常に閉じてから再度開きます。Accessはクエリが保存されるときにクエリに対して何らかの自動書式設定を行うのではないかと疑っていますが、どうすればそれを確認できるのかわかりません。前述のように、SQLテキストを非動作中のクエリから新しい「クリーンな」クエリに直接コピーすると、完全に機能します。クエリが「壊れた」場合、すべてを保存し、ファイルを閉じてから再度開いても、再び機能することはありません。
シュネイジュ

回答:


0

これはかなり前のことでしたが、現在と同じ問題を抱えている可能性のある人には簡単なメッセージを送りたいと思いました。私は実際にこの問題を解決することができました-ここにそれが何であったかがあります:(少なくとも私にとって-そしてできればあなたにとっても)

クエリのSQLビューに移動して、メニューリボンの[プロパティシート]ボタンをクリックする必要があります。それが開いたら、プロパティシートで「Query1」について言及しているものを探します-私のクエリが「Query1.COMPANY」で注文するように指示する「Order by」フィールドにあるため、クエリを実行するたびにプロンプ​​トが表示されましたそのパラメーターの。

そこからその盗聴器を取り除き、私のクエリは正常に戻りました!それが役立つことを願っています:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.