Access VBA質問箱 IV

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

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


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

【6870】インポートの際テーブルを上書きするには にしもり 05/11/28(月) 15:36 質問[未読]
【6871】Re:インポートの際テーブルを上書きするに... 小僧 05/11/28(月) 17:25 回答[未読]
【6872】Re:インポートの際テーブルを上書きするに... にしもり 05/11/29(火) 8:16 お礼[未読]

【6870】インポートの際テーブルを上書きするには
質問  にしもり  - 05/11/28(月) 15:36 -

引用なし
パスワード
   こんにちは。
教えてください。
下記モジュールを複数回実行すると、予定というテーブルに追加されてしまいます。
インポートの都度、予定というテーブルを上書きするのはどのように書けばよろしいでしょうか?
なお、つぎはぎで作りましたので余計なテキストがあるかもしれません。

Function test()

On Error GoTo test_Err
  DoCmd.SetWarnings False
  DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, "予定", "C:\支店\本日休暇.xls", True
  DoCmd.SetWarnings True

test_Exit:
  Exit Function

test_Err:
  MsgBox Error$
  Resume test_Exit
  
End Function

【6871】Re:インポートの際テーブルを上書きするに...
回答  小僧  - 05/11/28(月) 17:25 -

引用なし
パスワード
   ▼にしもり さん:
こんにちは。

>テーブルを上書きする

言葉そのまま、上書きでよろしいのでしたら、
インポート前のテーブルを削除してあげれば良いと思います。

DoCmd.DeleteObject acTable, "予定"

こちらでも可能だと思うのですが、テーブルの作成・削除を繰り返すと
あまり MDB によくないと思いますのでレコードの全削除の方が良いかもしれません。

DoCmd.RunSQL "DELETE FROM 予定"


差分だけ取り込みたい(重複があった場合だけ上書きしたい)
という事でしたら、もうちょっと複雑になりますね。

【6872】Re:インポートの際テーブルを上書きするに...
お礼  にしもり  - 05/11/29(火) 8:16 -

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

>こちらでも可能だと思うのですが、テーブルの作成・削除を繰り返すと
>あまり MDB によくないと思いますのでレコードの全削除の方が良いかもしれません。
>
>DoCmd.RunSQL "DELETE FROM 予定"


いつも本当にありがとうございます。
アドバイスにしたがい、テーブルはそのままでレコードを削除する方法で試してみたいと思います。

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