0

データベースに問題があります。メイン レポート内にサブレポートを作成しようとしています。これを 2 つの異なる方法で試しました。結果はどちらの方法でも同じです。

方法 #1 - メイン レポートで、サブフォーム/サブレポート アイコンをクリックし、事前に準備されたリストからサブレポートを選択します。

方法 #2 - メイン レポートで、[サブフォーム/サブレポート] アイコンをクリックし、サブレポート フォームに対応するクエリを作成して、必要なフィールドがメイン レポート内の子フレームに表示されるようにします。

*****どちらの方法でも、実行時にデータベースがパニックになり、Access がアプリケーション データベースをシャットダウンします。*****

: メイン レポートまたはサブレポートのいずれかが、フィルター条件に基づいてデータを表示している状態で個別に動作しています。

4

2 に答える 2

1

サブフォームの「Link Master Fields」と「Link Child Fields」を見直してください。デカルト積を作成している可能性があります。場合によっては、サブ レポートのクエリが複雑すぎて、Access がクラッシュすることがあります (以前のバージョンでしか気付いていませんでした)。

于 2012-09-13T15:03:35.793 に答える
0

フォームが破損する可能性があります。古いフォームから新しいフォームにすべてをコピーするだけで機能する場合もあれば、テキストとして保存し、フォームを削除して、テキストからロードする必要がある場合もあります。

Application.SaveAsText acForm, "form1", "z:\docs\tmp.txt"
Application.LoadFromText acForm, "form1rest", "z:\docs\tmp.txt"

報告

Application.SaveAsText acReport, "report1", "z:\docs\tmp.txt"
Application.LoadFromText acReport, "rep1rest", "z:\docs\tmp.txt"

同じデータベースでしばらく開発を行っている場合は、バックアップ、圧縮と修復、逆コンパイル、さらには新しいデータベースへのコピーを行う必要があります。破損からの回復に関するその他の注意事項は、http ://www.granite.ab.ca/access/corruptmdbs.htm にあります。

また、プリンタ ドライバを考慮して、簡単なレポートが機能することを確認してください。

于 2012-09-12T09:35:59.440 に答える