2017-02-09 13 views
0

私は、他のアクセスDBで歴史的に完全にうまく機能しているという、本当に面倒な問題があります。Access VBA DoCmd.OpenQuery問題

私はテストとして、ボタン付きのフォームを持っています。 クリックイベントのボタンは、単純なクエリを実行することで、これはVBAです:

Private Sub Command0_Click() 

DoCmd.SetWarnings False 

DoCmd.OpenQuery "mktbl_qry_Useable_Leads", acViewNormal, acEdit 

DoCmd.SetWarnings True 

End Sub 

非常にシンプルでまっすぐ進む、しかし、私は常にマクロがサブルーチンを選択するために私を求めてリストをポップアップします。

これには理由がありますか? 私は、同じ結果を持つ他のクエリーと、同じ問題を持つ別の空白のフォームを試してみました。それは私を狂ってしまう。

大変助かります。

+0

警告を設定しないでください。http://stackoverflow.com/questions/11213892/whats-the-difference-between-docmd-setwarnings-and-currentdb-execute/11213943#11213943 – Fionnuala

+0

実行中のクエリはマクロダイアログを表示すべきではありません。あなたのデータベースが壊れているようです。新しいaccdbを作成して、現在のデータベースから新しいデータベースにすべてのオブジェクトをコピーしてみてください。 –

+0

@Fionnuala上記の例はどのような警告を表示することができますか? 'db.Execute'は警告を表示できませんでしたか?サイドバーのOPに対する謝罪。 Btw、あなたはコンパクト&修復を試みましたか? – GavinP

答えて

0

データベースオブジェクトを使用すると、クエリを実行できます。データベースウィンドウでクエリを作成する必要はありません単純なクエリ

CurrentDB.Execute「qdRunUpdateQuery」、dbFailOnError + dbSeeChanges

または

CurrentDB.Execute「更新記事セット価格= 10の場合ここでid = 23 "、dbFailOnError + dbSeeChanges