過去ログ

                                Page     477
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼複数CSVファイルをインポートする場合  あきぴ 04/1/6(火) 23:12
   ┗Re:複数CSVファイルをインポートする場合  イケガミ 04/1/7(水) 0:40
      ┗Re:複数CSVファイルをインポートする場合  あきぴ 04/1/7(水) 18:19
         ┗Re:複数CSVファイルをインポートする場合  イケガミ 04/1/7(水) 18:50

 ───────────────────────────────────────
 ■題名 : 複数CSVファイルをインポートする場合
 ■名前 : あきぴ
 ■日付 : 04/1/6(火) 23:12
 -------------------------------------------------------------------------
   ACCESS2000でVBAをはじめました。
CSVファイルをインポートするようにしたのですが問題が出てきました。
テーブル数が200個ほどあるのでその分インポート定義をしなくてはならいこと、
そのままインポートしてしまうと前の分に追加されてしまうので、一度テーブル内を
削除処理したいのですが、思いつくのが削除クエリだけで、そうなるとまた
テーブル数分、クエリを作らなくてはならなくなるということです。
自分でも調べているのですがいい感じのものが見つかりません。

長文になってしまいましたが、どなたか知恵を貸してください。
よろしくお願いします

 ───────────────────────────────────────  ■題名 : Re:複数CSVファイルをインポートする場合  ■名前 : イケガミ  ■日付 : 04/1/7(水) 0:40  -------------------------------------------------------------------------
   >テーブル数が200個ほどあるのでその分インポート定義をしなくてはならいこと、
>そのままインポートしてしまうと前の分に追加されてしまうので、一度テーブル内を
>削除処理したいのですが、思いつくのが削除クエリだけで、そうなるとまた
>テーブル数分、クエリを作らなくてはならなくなるということです。

200個!
多いですねぇ〜。。。

インポート定義の方はあんまり案はないかなぁ〜
せいぜい、Schema.iniを利用することとか。。
#TransferText メソッドでは使えないみたいですが。

(とりあえず、参考として)
[AC97]VBAから Schema.ini ファイルを作成する方法
http://support.microsoft.com/default.aspx?scid=kb;ja;155512&Product=accJPN


削除の方は、以下のログが参考になると思います。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=709;id=access

テーブル一覧さえ、取得できればVBAでループを使って、全テーブルの
レコード削除をしてやればいいと思いますので。

 ───────────────────────────────────────  ■題名 : Re:複数CSVファイルをインポートする場合  ■名前 : あきぴ  ■日付 : 04/1/7(水) 18:19  -------------------------------------------------------------------------
   ▼イケガミ さん:
>>テーブル数が200個ほどあるのでその分インポート定義をしなくてはならいこと、
>>そのままインポートしてしまうと前の分に追加されてしまうので、一度テーブル内を
>>削除処理したいのですが、思いつくのが削除クエリだけで、そうなるとまた
>>テーブル数分、クエリを作らなくてはならなくなるということです。
>
>200個!
>多いですねぇ〜。。。
>
>インポート定義の方はあんまり案はないかなぁ〜
>せいぜい、Schema.iniを利用することとか。。
>#TransferText メソッドでは使えないみたいですが。
>
>(とりあえず、参考として)
>[AC97]VBAから Schema.ini ファイルを作成する方法
>http://support.microsoft.com/default.aspx?scid=kb;ja;155512&Product=accJPN
>
>
>削除の方は、以下のログが参考になると思います。
>http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=709;id=access
>
>テーブル一覧さえ、取得できればVBAでループを使って、全テーブルの
>レコード削除をしてやればいいと思いますので。


resありがとうございます
テーブルは取得できたのでレコードを削除したいのですが
うまくいきません下記のように書いたのですが駄目なのでしょうか??

Function delete(tablename As String)

Set Connection = New ADODB.Connection
Set RecSet = New ADODB.Recordset

  RecSet.Open "tablename", Connect, adOpenKeyset, adLockOptimistic

  RecSet.delete

 ───────────────────────────────────────  ■題名 : Re:複数CSVファイルをインポートする場合  ■名前 : イケガミ  ■日付 : 04/1/7(水) 18:50  -------------------------------------------------------------------------
   Function DeleteRecord(TableName As String)

  DoCmd.SetWarnings False           'システムメッセージの非表示
  DoCmd.RunSQL "DELETE FROM " & TableName   'テーブル削除
  DoCmd.SetWarnings True            'システムメッセージの表示

End Function

ではどうでしょうか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 477