3

サブフォームを含む Access のフォームがあります。このサブ フォームでは、クエリを実行して約 2000 レコードを返す必要があります。

このフォームに関連する 3 つのクエリがありますが、そのうちの 2 つは少し複雑です (と思います)。

別の.mdbファイルからレコードを返すこれら 2 つのクエリ (次のクエリ) では、このフォームとクエリは動作しX.mdbますが、これらのクエリはデータをフェッチします。Y.mdb

このクエリを削除すると正常に動作するため、フォームが非常に遅くなると思います

SELECT 
    tb_KonzeptFunktionen.Konzept AS KonzeptID, 
    tb_KonzeptFunktionen.Funktion,
    tb_KonzeptFunktionen.Version, 
    qryFunktionen_Übersicht.ID,
    qryFunktionen_Übersicht.Fehlerpfad_Kommentar AS Kommentar, 
    qryFunktionen_Übersicht.Fehlerpfadname, 
    qryFunktionen_Übersicht.Fehlerpfad_CDT, 
    qryFunktionen_Übersicht.Fehlerpfad_Kommentar, 
    qryFunktionen_Übersicht.symptombasiert, 
    qryFunktionen_Übersicht.Beschreibung_vorhanden, 
    qryFunktionen_Übersicht.Max_Pfad, 
    qryFunktionen_Übersicht.Max_Info, 
    qryFunktionen_Übersicht.Max_Status, 
    qryFunktionen_Übersicht.Max_Strategie, 
    qryFunktionen_Übersicht.Max_Prüfplan, 
    qryFunktionen_Übersicht.Min_Pfad, 
    qryFunktionen_Übersicht.Min_Info, 
    qryFunktionen_Übersicht.Min_Status, 
    qryFunktionen_Übersicht.Min_Strategie, 
    qryFunktionen_Übersicht.Min_Prüfplan, 
    qryFunktionen_Übersicht.Sig_Pfad, 
    qryFunktionen_Übersicht.Sig_Info, 
    qryFunktionen_Übersicht.Sig_Status,
    qryFunktionen_Übersicht.Sig_Strategie, 
    qryFunktionen_Übersicht.Sig_Prüfplan, 
    qryFunktionen_Übersicht.Plaus_Pfad, 
    qryFunktionen_Übersicht.Plaus_Info, 
    qryFunktionen_Übersicht.Plaus_Status, 
    qryFunktionen_Übersicht.Plaus_Strategie, 
    qryFunktionen_Übersicht.Plaus_Prüfplan, 
    qryFunktionen_Übersicht.Beschreibung_allgemein, 
    qryFunktionen_Übersicht.Funktionsname        
FROM tb_KonzeptFunktionen RIGHT JOIN qryFunktionen_Übersicht 
    ON tb_KonzeptFunktionen.Funktion = qryFunktionen_Übersicht.Funktionsname
WHERE (((tb_KonzeptFunktionen.Konzept)=[Formulare]![frm_Fahrzeug]![ID]))

このクエリを削除すると、すべて正常に動作します

そして、これは上記のクエリに割り当てられた別の関連クエリです ( ) ORDER ByqryFunktionen_Übersichtにあるフィールドにインデックスを追加しました:

SELECT tbFunktionen_Übersicht.*, 
    tbFunktionen.Funktionsname, 
    tbFunktionen.Funktionsbeschreibung, 
    tbFunktionen.diagnoserelevant, 
    tbFunktionen.ID AS FunktionsID
FROM tbFunktionen_Übersicht INNER JOIN tbFunktionen 
    ON tbFunktionen_Übersicht.Funktion = tbFunktionen.ID
ORDER BY tbFunktionen.Funktionsname, tbFunktionen_Übersicht.Fehlerpfadname;

どうすれば私の問題を処理できますか、何か分かりますか?

4

1 に答える 1

0

また、インデックスを追加したフィールドに関する情報を共有し、クエリにどのように名前を付けたかについての情報を追加してください。これにより、どのクエリが他のクエリに依存しているかをよりよく理解できます。

一般に、パフォーマンスを向上させるために、すべてのクエリをフロントエンドmdbに保存して、ステートメントをすでにコンパイルすることができます。SQL JOINは、アクセスする必要のあるデータの量によっては時間がかかる場合があるため、表示するデータが非常に多い場合、これには多くの時間がかかり、Accessデータベースはそのようなタスクの最速のソリューションではありません。

于 2012-05-22T12:03:46.110 に答える