[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/01/16(Mon) 18:03
投稿者名:RON
Eメール:
URL :
タイトル:
クエリの削除について
こんにちわ、お聞きしたい事があります
VB6でアクセス2000のクエリを削除したいので次のロジックにしてみましたが自分の環境で検
証すると
削除する時と削除されない時が発生します
どちらの場合もワンステップ毎の動きを確認しましたがロジックの途中で異常終了はしません
OS環境はWin2000です
なぜ削除されない現象になるのかさっぱりわかりません、どこかロジックがへんてこなんでしょうか?
教えてください。

Dim dbname      As DAO.Database  
Dim qryTarget   As DAO.QueryDef
  
strdb = "c:\***.mdb"
Set dbname = DBEngine.Workspaces(0).OpenDatabase(strDb)
For Each qryTarget In dbname.QueryDefs
    DoCmd.DeleteObject acQuery, "クエリ名称"
    Exit For
Next

投稿時間:2006/01/16(Mon) 18:38
投稿者名:neptune
Eメール:
URL :
タイトル:
Re: クエリの削除について
こんにちは

ぱっと見ですが、
> For Each qryTarget In dbname.QueryDefs
何故にこういう作業化必要かわからない。
>     DoCmd.DeleteObject acQuery, "クエリ名称"
削除はQueryDefsのdeleteメソッド
DoCmdはAccessのオブジェクトでDAOのオブジェクトではない。
Accessに参照設定しているなら、オブジェクト指定が必要。
>     Exit For
> Next

投稿時間:2006/01/16(Mon) 19:08
投稿者名:RON
Eメール:
URL :
タイトル:
Re^2: クエリの削除について
返信ありがとうございます

dbname.QueryDefs.Delete ("クエリ名称")

で解決できました。
あのようなロジックになってたのはVBAのロジックから流用していらない部分を削った結果なんです。
VBAもVBも似たようなもんだと思い込んで作業してますのでこんなことになってしましました
本当にありがとうございました。