• 締切済み

Access VBAでテーブルの確認

Access 200のVBAで、テーブルが存在しているかどうかのコードをつくれません。存在しなければSQLでCREATEさせるなどの処理をしたいのです。コードを教えてください。

みんなの回答

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

Access2000及び下位互換な関数です。 Public Function ExistTableDef(TableName As String) As Boolean 'CurrentDBに指定したTableDefオブジェクトが存在するかを調べる(True=存在する) Dim Dummy As String On Error Resume Next Dummy = CurrentDb.TableDefs(TableName).Name If Dummy <> "" Then ExistTableDef = True Err.Clear Else ExistTableDef = False Err.Clear End If End Function Access2000 Onlyなら、AccessObjectオブジェクトを使えばいいでしょう。

関連するQ&A

  • アクセスからオラクルへテーブルをエクスポートするVBAコードは?

    バックアップとして、アクセスからオラクルへテーブルをエクスポートします。その際のアクセスVBAのコードがわかりません。 SQLで行おうとしたらフィールドが120ほどありコードが軽く千行を超えてしまったためあきらめました。 流れとしては、mdb内にオラクルテーブルをコピーして→mdbからオラクルへテーブルをエクスポートして→テーブルのリンクを削除する、と考えています。 また、もしSQLで簡潔に上記作業を行える書き方があるのなら、それも合わせて回答をいただけるととても助かります。 よろしくお願いいたします

  • ACCESS2000 INPUTBOX でテーブル名を入れながらテーブル作成

    こんにちは。 ACCESS2000 で、さいきん初心者に毛が生えてきました。 通常 VBA を書くときはマクロでいったん作成してから、都合よく書き直しています。 が、マクロに「テーブル作成」という選択肢がありません。 それでマニュアルを見ながら CREATE TABLE 0310 ( WHS CHAR(30), CODE CHAR(30), NAME CHAR(50), LOC CHAR(30), QTY LONG ); というSQL文を書きました。これで必要なテーブルは得られるのですが、このテーブル名が毎日変わるので(日付です)、VBA のINPUTBOX でテーブル名を入れながら毎日の作業をしたいのです。 ちなみにSQL 文はQUERY として登録し、マクロの「クエリを開く」で実行することだけはできるんですが。 よろしくお願いします。

  • ACCESS97:VBAでテーブル作成したい

    Access97を利用しています。 VBAでテーブル作成クエリーを、SQL文で直接記述しています。 書き方としては、SELECT 列名 INTO テーブル名 IN DBのパス でいいと思うのですが、例えば会社の部門コードでループさせて、 部門の名前のついたテーブルを作成しようと思います。 さて、テーブル名やDBのパスをパラメータで渡すことは可能なのでしょうか? うまくいかないのですが、もともとムリなことをやろうとしているのでしょうか?

  • AccessのテーブルをSQL文にしたい

    urizakaです。 さて、今回質問したいのは、Accessで作ったテーブルをSQL文にする方法です。 具体的には、ACCESSで作ったテーブルを、 CREATE TABLE ××× (              ) INSERT… というSQL文にしたいのですが、これはどうすれば良いのでしょうか? すみませんが、教えてください。            

  • ACCESS テーブルの有無確認方法

    分かる人がいましたらお願いします。 フォームのボタンを押すと下記の処理を流すようにしたいと思っています。 CurrentDb.Execute "Delete * From WT_g", dbFailOnError ここで指定しているテーブル「WT_g」は他処理の過程でcreateしたテーブルです。 上記処理を流す場合にこのテーブルが生成されていない条件の時があります。 そのためテーブルの存在を確認してから Delete~を流したいのですがどうチェックしていいのか分かりません。 どなたか教えてください

  • VBAでAccessのテーブルのエクスポート・インポートをするには。

    すみませんが、教えてください。 Excel+VBAで、AccessをSQL,ADO,ADOXで操作しようとしています。 a.mdbのテーブルを、b.mdbに、エクスポート(インポート)したいのですが、やり方がわからず困っています。 すみませんが、テーブル構造のみをエクスポートする方法、データを含めてエクスポートする方法を教えてください。

  • Access2003でのテーブルの有無確認

    こんにちは。 VB6.0 Access2003にて開発をしています。 Test.mdbにTableAという名前テーブルが存在していたら 削除を行うという処理をしたいのですが TableAという名前テーブルが存在しているかどうかを 調べる方法がわかりません。 TableAをオープンさせてエラー番号で判断するやり方 ならわかるのですが、ほかに方法はないのでしょうか?

  • VBAでのテーブルのソートについて

    初歩的な質問をさせていただきます。 VBAの処理で事前にテーブルにためたデータからテーブル内に同じデータがあるか調べたいのですが、テーブル内をソートさせてから上下のテーブル内のデータで1つ1つ判断して同じデータがあるか調べようとしています。 (1)VBAでテーブルにためこんだデータを  sortメソッドでソート可能でしょうか?  可能でしたら、サンプルになるコードを  教えていただけると有難いです。 (2)テーブル内に同じデータがあるか、  一発(?)で判断できる命令はあるのでしょうか? よろしくお願いします。

  • アクセスVBAでテーブルの参照

    よろしくお願いします。 アクセスVBAでテーブルのレコードを参照をしたいのですが、 どうすればよいのでしょう?

  • VBAでSQL文の実行の記述について

    こんにちは。アクセスVBA初心者です。 どなたか教えてください! キーが二つあるテーブルに対して、 クエリやマクロを使わずにSQL文を使って存在チェック処理を行って、 ・0件ならば、画面入力値で登録処理、 ・0件でないならば、画面入力値で担当者名を更新処理 という処理を行いたいのですが、 どのようにVBA上でSQL文を記述し、 上記の条件を記述すればいいのかわかりません。 ちなみにテーブル名は「担当者マスタ」で フィールドは ・「支店コード」→第一キー ・「担当者コード」→第二キー ・「担当者名」 です。支店と担当者の組み合わせはユニークです。 画面フォーム名は「担当者マスタメンテ」で 画面フィールドは ・「支店コード」コンボボックス ・「担当者コード」コンボボックス ・「担当者名」テキストフィールド です。 どうか教えてください!お願いいたします!