TableAが存在するかどうかをチェックして、テーブル全体を削除する必要があります。それがなければ、私はテーブルを作成します。これがVBA/MS Accessで実装できるかどうかは本当に分かりませんでした。私たちが使用できるSQLでVBAスクリプトがMS ACCESSに存在するかどうかを確認するスクリプト。削除する場合は削除
:
DROP TABLE IF EXISTS dbo.TableA
誰もがこれを実装する方法任意のアイデアを持っていますか?ありがとうございました!
TableAが存在するかどうかをチェックして、テーブル全体を削除する必要があります。それがなければ、私はテーブルを作成します。これがVBA/MS Accessで実装できるかどうかは本当に分かりませんでした。私たちが使用できるSQLでVBAスクリプトがMS ACCESSに存在するかどうかを確認するスクリプト。削除する場合は削除
:
DROP TABLE IF EXISTS dbo.TableA
誰もがこれを実装する方法任意のアイデアを持っていますか?ありがとうございました!
TableDefsコレクションを使用することを検討してください。ここでアイテムを繰り返し処理し、コードで渡された同じDDL SQL文を使用して条件付きで削除または作成してください。
Dim db As Database
Dim tbldef As TableDef
Set db = CurrentDb
For each tbldef in db.TableDefs
If tbldef.Name = "TableName" Then
db.Execute "DROP TABLE " & tbldef.Name, dbFailOnError
End if
Next tbldef
db.Execute "CREATE TABLE TableName (...rest of SQL...);", dbFailOnError
' UNINITIALIZE OBJECTS
Set tbldef = Nothing
Set db = Nothing
上記のコードよりもはるかに簡単な方法があります。
On Error Resume Next
currentdb.execute "DROP TABLE TABLENAME;"
On Error Goto 0
これが何をするか、テーブルを削除しようとテーブルが存在しないため、エラーが発生した場合の行をスキップしています。わずか3行で、より速く走ります。
この作業は完璧です!ありがとうございました。 – user1688194