質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

2回答

19562閲覧

ADOでクエリ変更するとエラー(実行時エラー 3265)が出ます。

SatoshiM

総合スコア12

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2017/04/21 10:02

編集2017/04/22 01:02

ADOでクエリを変更するVBAでつまづきました。実行時エラー3265が出ます。mdbを新しく作成して全オブジェクトをインポートしなおしても同様でした。

自己解決しました。エラー発生条件はユニオンクエリでした。通常の選択クエリなら問題ありません。

strSQLはselect文
strQryNameはクエリの名前です

VBA

1Dim cat As New ADOX.Catalog 2Dim cmd As New ADODB.Command 3 4cat.ActiveConnection = CurrentProject.Connection 5cmd.CommandText = strSQL 6 7cat.Views(strQryName).Command = cmd '★ここで、以下のエラーが出ます。

実行時エラー 3265「要求された名前、または序数に対応する項目がコレクションに見つかりません」

参照設定で順序など替えてみましたが、同様のエラー。ただし、当該クエリを手作業で操作=>動作確認後は1度だけうまく上記のコードは通ります(汗)

アドバイスお待ちしております。
参照設定の一覧です

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決済みですが、ユニオンクエリを変更したい場合は困りますよね。

DAOなら、ユニオンクエリでも問題なく変更できます。

VB

1 Dim qd As DAO.QueryDef 2 3 Set qd = CurrentDb.QueryDefs(strQryName) 4 5 qd.SQL = strSQL

投稿2017/04/22 02:50

hatena19

総合スコア33715

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SatoshiM

2017/04/22 04:57

そうなんです(汗)まあ、ADOはもう役目を終えたといってもよいのですがまたDAOに戻すのも、、、(苦笑)
guest

0

自己解決

書き換え対象のクエリをユニオンクエリから選択クエリに変更すると動作しました。

投稿2017/04/22 01:03

SatoshiM

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問