VBAでMS Access 2007で保存されたクエリを実行するにはどうすればよいですか?MS Access - VBAで保存されたクエリを名前で実行する
SQLをコピーしてVBAに貼り付けたくありません。むしろ単にクエリの名前を実行するだけです。
これは機能しません... VBAはクエリを見つけることができません。
CurrentDb.Execute queryname
VBAでMS Access 2007で保存されたクエリを実行するにはどうすればよいですか?MS Access - VBAで保存されたクエリを名前で実行する
SQLをコピーしてVBAに貼り付けたくありません。むしろ単にクエリの名前を実行するだけです。
これは機能しません... VBAはクエリを見つけることができません。
CurrentDb.Execute queryname
あなたはそれを次のように行うことができます。VBAはQUERYNAMEを見つけることができませんなぜあなたが調査する必要
DoCmd.OpenQuery "yourQueryName", acViewNormal, acEdit
OR
CurrentDb.OpenRecordset("yourQueryName")
を。
私はqryAddLoginfoRowという名前の保存されたクエリを持っています。現時点の行をloginfoテーブルに挿入します。 CurrentDb.Execute
によって呼び出されると、そのクエリは正常に実行されます。
CurrentDb.Execute "qryAddLoginfoRow"
私の推測では、QUERYNAMEのいずれかが現在のデータベースのクエリ定義コレクションに存在しないクエリの名前を保持する変数である、またはQUERYNAMEは、既存のクエリのリテラル名であるということですが、あなた引用符で囲まなかった。
編集: あなたはQUERYNAMEが現在のDBのクエリ定義コレクションに存在しないことを承諾する方法を見つける必要があります。 CurrentDb.Execute
行の直前に、この2行をVBAコードに追加します。
Debug.Print "queryname = '" & queryname & "'"
Debug.Print CurrentDb.QueryDefs(queryname).Name
実行時エラー3265をトリガーするこれらの2行の第二、「項目がこのコレクションに見つかりませんでした。は」次にあなたがCurrentDb
を求めているクエリの名前を確認するために、イミディエイトウィンドウに行きますExecute
に
CurrentDb.Executeを使用するには、クエリがアクションクエリで、かつ引用符で囲まれている必要があります。
CurrentDb.Execute "queryname"
私は編集したくありません。これは私の更新と挿入クエリを実行しますか? – tdjfdjdj
はい、UpdateとInsertのクエリを実行します。 – Taryn
私のVBAコードではなく、手動で動作する追加クエリです。保存されたクエリを追加することはできませんか? – tdjfdjdj