2011-12-30 29 views
2

私はいくつかの変更を加えたAccessアプリケーションを継承しました。 私はそれを起動すると、古いテーブルやクエリに を参照しているように見えるいくつかのエラーが発生しています。現在実際にはアプリの一部である は間違っています。MSysObjectsから古いアクセス成果物を削除する

ここ

がメッセージです:

The record source `~sq_cEmployee Certification Tracking ~sqclstAlerts` specified on this form does not exist. 

私はすべての SQLオブジェクトをダンプへのアクセスを取得する方法を示したオンライン何かを発見し、その出力で、私はゴミ クエリのたくさんいると思うものを見ますオブジェクトブラウザには表示されません。ここで

は、私が何を意味するかの例です:

SQL名(4):この場合

~sq_cEmployee Certification Tracking~sq_clstAlerts----------------------------------------------- 
SELECT CertificationAlertsRaw.Alert AS Expr1 
FROM CertificationAlertsRaw 
WHERE (((CertificationAlertsRaw.Alert)="Yes")); 

CertificationAlertsRawクエリは、少なくとも限り として、オブジェクトブラウザを削除されています示しています。それは名前が変更された古いクエリでした。

チルダで奇妙な名前に注意してください。

これはクラッシュのアーチファクトか、おそらく アクセスバグでしょうか?

約30種類以上あります。

これらのエラーメッセージが原因で発生するのは、 の起動時です。 オブジェクトブラウザウィンドウに表示されないため、どうすれば取り除くことができますか?

私も「コンパクトで修復」を試みましたが、何も変更されませんでした。ここ はMSysObjectsでこれらのエントリから「名前」プロパティのほんの一部です:

~sq_cEmployee Certification Tracking Old~sq_ccboCertifications 
~sq_cEmployee Certification Tracking Old~sq_clstHistory 
~sq_cRoutineAssignments~sq_clstMaxTaskID 

おかげで、

ミッチ

答えて

4

チルダで始まるクエリは、フォームやレポートからです。たとえば、フォームにSQL文字列を使用すると、チルダ付きのクエリコレクションに表示されます。

Sub ListQueries() 
For Each qdf In CurrentDb.QueryDefs 
    Debug.Print qdf.Name 
Next 
End Sub 

削除することはできますが、注意する必要があります。

おそらく、新しいデータベースを開いて表示されているものをすべてインポートする方がよいでしょう。

1
~sq_cEmployee Certification Tracking~sq_clstAlerts 

これはlstAlertsオブジェクト(リストボックス?)フォーム従業員の認定トラッキングには記載されているSQL文を参照していることを意味します

SELECT CertificationAlertsRaw.Alert AS Expr1 FROM CertificationAlertsRaw WHERE (((CertificationAlertsRaw.Alert)="Yes")); 

あなたがポイントにlstAlertsのレコードソースを変更する必要がありますCertificationAlertsRawはデータベースで利用できなくなりました。

関連する問題