Access (VBA)

Access VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7全般 : Access 2007)
テーブルを削除する前にその存在を確認したい
投稿日時: 17/04/05 20:20:26
投稿者: HT

テーブルを削除する前にその存在を確認したいのですが以下のような
記述はACCESSのmdbでも使用できますか?
IF OBJECT_ID(N'[dbo].[xxxTBL]', N'U') IS NOT NULL
drop table [dbo].[xxxTBL]

回答
投稿日時: 17/04/06 12:31:25
投稿者: Suzu

ストアドを実行できるコンソールがありません。
 
クエリ(SQL)にて、テーブルの存在確認までは可能です。
テーブルの一覧取得であれば
 
SELECT Name
FROM MsysObjects
WHERE Type = 1 AND Flags = 0
 
 
【結果に対し条件分岐】を行い、次の処理を促す事が、クエリではできません。
・マクロ
・VBA
どちらかを使用する事になるでしょう。

投稿日時: 17/04/07 17:57:44
投稿者: HT

Suzuさん ありがとうございます。【結果に対し条件分岐】はEXCEL VBA内
(vbaでACCESSのobjectを作成しています)で行います

回答
投稿日時: 17/04/10 10:08:17
投稿者: Suzu

引用:
EXCEL VBA内 (vbaでACCESSのobjectを作成しています)で行います

 
具体的に言うと "Access.Application" を生成し オートメーション にて操作している
という事でしょうか。
 
なのであれば、
 
AllTablesコレクションを参照しましょう。
https://msdn.microsoft.com/ja-jp/library/office/ff193974.aspx
 
2007でも、ヘルプがあるので使えるでしょう。
https://msdn.microsoft.com/ja-jp/library/bb214289(v=office.12).aspx
 
 
 
具体的に、ExcelからAccessの何を操作するのか判りませんが
フォームやレポートを操作する訳ではありませんよね?
 
あくまで、ユーザーの操作するインターフェイス(入出力フォームや印刷画面)はExcelですよね?
なのであれば、DAO/ADO を使った方が良いですよ。

トピックに返信