Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1895 / 2272 ツリー ←次へ | 前へ→

【4745】テーブル存在確認の方法について VBA初心者 05/3/28(月) 16:55 質問[未読]
【4748】Re:テーブル存在確認の方法について Gin_II 05/3/28(月) 17:47 回答[未読]
【4749】Re:テーブル存在確認の方法について VBA初心者 05/3/28(月) 20:08 質問[未読]
【4750】Re:テーブル存在確認の方法について Gin_II 05/3/28(月) 20:14 回答[未読]
【4752】Re:テーブル存在確認の方法について VBA初心者 05/3/28(月) 21:41 お礼[未読]

【4745】テーブル存在確認の方法について
質問  VBA初心者  - 05/3/28(月) 16:55 -

引用なし
パスワード
   Accessでcsvファイルをインポートするとき、テーブルが存在しなければcsvをインポート、存在するときはインポートしない、というプログラムをつくりたいのですが、
テーブル存在を確認するコードはありますか?

または、Accessでcsvファイルをインポートするとき、作成しておいた定義を使用しているのですが、その定義に複数の列をキーとして定義しておくことはできないでしょうか?
インデックスで『はい(重複なし)』を複数の列に定義しているのですが、これはどうも違うようなのです。


というのも、『csvファイルからイのンポート』を複数回実行してしまった場合、現状では同じデータを再度インポートしてしまうのです(重複データ)。
テーブル名はcsvファイル名から取ってきているため、その都度変化します。
定義名はcsvファイル名の一部をつかっているためすでに定義してあります。
テーブル存在チェックができればいちばん簡単に重複を防げると思っているのですが・・・・・

どなたか知ってるかたいらっしゃいましたら教えてください。よろしくお願いします!!

【4748】Re:テーブル存在確認の方法について
回答  Gin_II  - 05/3/28(月) 17:47 -

引用なし
パスワード
   >テーブル存在チェックができればいちばん簡単に重複を防げると

If DCount("*","MSysObjects","[Name]='xxx'") > 0 Then
  '存在する
End If

とか。

【4749】Re:テーブル存在確認の方法について
質問  VBA初心者  - 05/3/28(月) 20:08 -

引用なし
パスワード
   ▼Gin_II さん:
回答ありがとうございます。

この場合でも、MSysObjectsテーブルが存在しなければ、エラーになってしまいます。
( on error goto XX としているので、XXにとんでしまいます)
レコード存在チェックならば使えるんですが・・・

他になにか良い方法はないでしょうか?
教えて下さい。
よろしくお願いします。

>>テーブル存在チェックができればいちばん簡単に重複を防げると
>
>If DCount("*","MSysObjects","[Name]='xxx'") > 0 Then
>  '存在する
>End If
>
>とか。

【4750】Re:テーブル存在確認の方法について
回答  Gin_II  - 05/3/28(月) 20:14 -

引用なし
パスワード
   >この場合でも、MSysObjectsテーブルが存在しなければ、

MSysObjects テーブルというのは、システムテーブルのことです。
mdbファイルなら、必ず存在します。

この場合、チェックするテーブル名は、
xxx の部分ですね。

【4752】Re:テーブル存在確認の方法について
お礼  VBA初心者  - 05/3/28(月) 21:41 -

引用なし
パスワード
   ▼Gin_II さん:

確認して、できました!

ありがとうございました。
大変助かりました。


>>この場合でも、MSysObjectsテーブルが存在しなければ、
>
>MSysObjects テーブルというのは、システムテーブルのことです。
>mdbファイルなら、必ず存在します。
>
>この場合、チェックするテーブル名は、
>xxx の部分ですね。

1895 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078241
(SS)C-BOARD v3.8 is Free